Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

vimでC++編集する時に使えるいいこと考えちゃった

$
0
0

したこと

Vimを使い始めて半年経ち,vimrcでショートカットを作成したりするようになって,ようやくVimmerと呼ばれてもいいくらいになってきた.(Pluginは使っていない)
何気なくC++のプログラムを編集していて,思った.

「確実にあっている部分が視界に入って鬱陶しいなあ・・・」

そこで,何か解決方法はないかを考えたところ,Vimを使い始めた時に何度か間違えて押していたShift+jを思い出した.ちなみに,

Shift + jは,現在の行と次の行をスペースをいれて連結するコマンドである.

このコマンドは間違えて入力すると,ソースコードがまとまって面倒なことになる.uを使ってすぐに戻っていた.

しかし,みたくない部分をまとめてしまうことができるなと考えた.終了後に元に戻すことができれば便利に使えそうだ.ここで考えたのが,C++であれば行末には;があるため,;;<CR>に置換することだ.

Vim上で

:s/;/;^M/g

とコマンドを実行すると;;<CR>になってくれた.そこで,Shift+kにショートカットを割り当てようと思い,~/.vimrcに以下を記述した.

~/.vimrc
nnoremap <S-k> :s/;/;^M/g

これでVim上でShift+kを入力するとコマンドが

/g

になってしまった.どうやらvimrcでは^Mは使えないようだ.そこで,先ほどの内容を以下に変更した.

~/.vimrc
nnoremap <S-k> :s/;/;\r/g

これで無事Shift+k;を;<CR>に置換を割り当てることができた.

動作画面

以下が,動作画面である.連結すると,見た目上の行数が減るので,注目できる(かも).

vimLinkingTest.gif

いつでも;を;<CR>に置換ができるので,編集中は読みたくない部分を省略して編集後に戻すことができるようになった.


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>