事象
コピー(Ctrl+c)したテキスト情報をviのinsertモードでペースト(Ctrl+v)するとインデントがずれていく。
具体的には以下のようになる。
[ { "Notification": { "NotificationType": "ACTUAL",
環境情報
$ vi --version VIM - Vi IMproved 9.0
対応策
viのコマンドモードにて以下を入力する。
:set paste
この状態でinsertモードに入ると下部にてpaste modeとなっていることが表示され
-- INSERT (paste) --
インデントがずれずにペースト(貼り付け)が行える。
[ { "Notification": { "NotificationType": "ACTUAL",
以下、補足です。
補足
同モードを戻したい場合はコマンドモードで以下のように入力します。
:set nopaste
尚、自分が今どのモードにしているかを確認したい場合は:setにて設定情報が表示されます。
:set --- Options --- comments= display=truncate history=200 nolangremap scrolloff=5 ttimeoutlen=100 commentstring= filetype=json hlsearch nrformats=bin,hex showcmd ttymouse=xterm cscopetag formatoptions=cq incsearch paste syntax=json viminfo='20,"50 cscopeverbose helplang=en langnoremap scroll=10 ttimeout wildmenu backspace=indent,eol,start cscopeprg=/usr/bin/cscope fileencodings=ucs-bom,utf-8,default,latin1 guicursor=n-v-c:block,o:hor50,i-ci:hor15,r-cr:hor30,sm:block,a:blinkon0 indentexpr=GetJSONIndent(v:lnum) indentkeys=0{,0},0),0[,0],!^F,o,O,e
以上、ご参考になれば幸いです。