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

Vimのキーマッピングを書いた

$
0
0

Vim pluginをできるだけ少ないキーで実行させたいのと、前々から不便なところを変えたいと思ってたので書いた。
:VimShellなどと毎回打ち込むのは非常に面倒だし( q:してhistoryから選ぶのもいいけど)。
マッピングするにあたって参考にしたサイト
http://deris.hatenablog.jp/entry/2013/05/02/192415

とりあえず今回書いたマッピング。

nmap j gj
nmap k gk
nmap <S-h>   ^
nmap <S-j>   }
nmap <S-k>   {
nmap <S-l>   $
nmap m  %
nmap <CR> A<CR><ESC>
nmap == :call SetCurrentLine()<CR>gg=G:call SetCursor()<CR>
nmap <Space>n   :NERDTree<CR>
nmap <Space>v   :vs<CR>:<C-u>VimShell<CR>
nmap <Space>tl  :vs<CR>:TweetVimHomeTimeline<CR>
nmap <Space>tm  :vs<CR>:TweetVimMentions<CR>
nmap <Space>ts  :TweetVimSay<CR>

imap <C-f> <C-x><C-o>

vmap <S-h>   ^
vmap <S-j>   {
vmap <S-k>   }
vmap <S-l>   $


function! SetCurrentLine()
  let s:line = line('.')
  let s:col = col('.')
endfunction

function! SetCursor()
  call cursor(s:line, s:col)
endfunction

ちょっとした解説

  • nmap j gjとか nmap k gkは割と定番なマッピング。
  • Shift + hで左端、 Shift + lで右端にカーソル移動。いちいち $とか ^を押す必要がない。 めっちゃ便利
  • nmap <CR> A<CR><ESC> :ノーマルモードでもリターンキーで改行できるようにした。
  • =を二回連続で入力することでバッファ全体のインデント整理をするようにした。その際、先頭行に移動してしまうので、移動しないようにちょっとした関数を書いた。(もっと綺麗に書きたい)
  • 各プラグインはSpace + 'プラグインの頭文字'みたいに設定した。
  • imap <C-f> <C-x><C-o> : オムニ補完をキー一発でできるように設定。

個人的におすすめは、nmap <S-h> ^nmap <S-l> $ものすごい便利。ホームポジションを崩さずに操作できるのは気持ちがいい。

最後に

あくまでこういうマッピングもあるんだな程度で。
たぶん、コピペしてもマッピング内容を忘れるので。
ちなみにこれ書くのに2時間くらい使った。テキストエディタの闇は深い。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



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