Vim实用设置
不定时更新,同时一些收集到的文章会放在 我的 wiki 里。
Get rid of ^M
:set ff=unix
去掉行尾空格
nmap ,ts <Esc>:%s/\s\+$//gc<cr>
瞬间输入当前目录和文件名
inoremap \fp <C-R>=getcwd()<CR>
inoremap \fn <C-R>=expand("%:t:r")<CR>
inoremap \fN <C-R>=expand("%:p:r")<CR>
具体每一个修饰符的意思可以:help expand()
看下
切换工作目录到当前编辑文件目录下
" change cwd
nnoremap ,cd :cd %:p:h<CR>:pwd<CR>
调出命令/搜索历史
Typing Ctrl-F during /
search will open search history.
<c-f> also works for
/ search
? reverse search
: ex commands
In normal mode, try
q/
q?
q:
来自 twitter
快速跳转
40G
跳到第 40 行,20|
(pipe 符号) 跳到第 20 列。
项目全局搜索当光标下的词
这里使用了 fzf-preview 这一插件的 FzfPreviewProjectGrep
command,但关键在于 <c-r><c-w>
,其意为从一个特殊的寄存器中取当前 cursor 下的 word,这个语法和 keymap 中的 <C-R>
长得很像,花了好久才明白这是什么意思。
vmap ,fg <Esc>:FzfPreviewProjectGrep <c-r><c-w><cr>
跳到下一个 git 冲突处
" goto next conflict"
noremap <silent> ]c /^\(<<<<<<<\\|=======\\|>>>>>>>\)<cr>