人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

viで、インデントされたソースを貼り付けるときに、前の行のインデントが次の行に反映されるため、実際のインデント以上に階段状にネストが深くなってしまいます。
これをviの一時的な設定で、元のテキストイメージのままのインデントで貼り付ける方法はありませんか?
ちなみに端末は、PuTTYを使っています。

●質問者: P-mako
●カテゴリ:インターネット ウェブ制作
✍キーワード:PuTTY vi イメージ ソース テキスト
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● dev_zer0
●30ポイント ベストアンサー

http://www.linux.or.jp/JF/JFdocs/vi-user-usage-7.html

まず、

:set

で現在設定されているviのオプションが表示できます。

viのインデントはautoindent

# vimの場合はsmartindentも設定されているかもしれません

上記の設定を無効にしたい場合はオプション名の前にnoを付与します


具体的にはautoindentを無効にしたい場合は

:set noautoindent

smartindentを無効にしたい場合は

:set nosmartindent

とします


コマンド操作後、:setで設定が変化していることが確認できると思います

変化していることか確認できたら貼り付けてみてください

◎質問者からの返答

ありがとうございました。すばらしいです。


2 ● withgod
●5ポイント

vimのオプションをオフにするか、cat使って書き込みます。

http://www.jp.redhat.com/support/manuals/rhl-gsg-ja-7.0/x7475.ht...

cat > ./hoge.txt[enter]

ここにペースト

[終点で Ctrl+CかD]


3 ● mitz
●15ポイント

http://www.kiske.info/blog/archives/2007/05/vim.html

コマンドモードで:aと入力したあとにコピペするとインデント維持したまま貼り付けれます。

◎質問者からの返答

ショートカット(?)は便利ですね。

やや入力時の挙動に慣れないですが・・・


4 ● noboru
●30ポイント

http://q.hatena.ne.jp/ (URLはダミーです)

自動インデントされている状態でペーストすると余計にインデントが入るという意味でしょうか? だとすると下記のように入力すればできます。

:se noai

これでインデントは掛からなくなります。このあと i を入力してペーストし、ESC 後に

:se ai

とすると自動インデントされる状態に戻ります。

◎質問者からの返答

すばらしいです。ありがとうございます。


5 ● samejima
●20ポイント
:set noautoindent

元に戻すには

:set autoindent

http://hp.vector.co.jp/authors/VA016670/unix/vi_reference.html

◎質問者からの返答

ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ