memoのVIM

必须给今天看到的vim相关的东西记录一下!

vim文档中文化

https://github.com/yianwillis/vimcdoc

速查表

https://github.com/skywind3000/awesome-cheatsheets/blob/master/editors/vim.txt
相当赞。

接下来还有有意思的:

查单词

# install first
pip install ici
# try one try
ici naive

在.vimrc里面加上下面的话

nmap <Leader>y :!echo --==<C-R><C-w>==-- ;ici <C-R><C-W><CR>

就可以在单词上通过\y查单词了!(我并没有验证,反正看着玩)

其他光标移动命令

C-y 向上滚动屏幕
C-e 向下滚动屏幕
C-u 向上滚动半屏
C-d 向下滚动半屏
C-b 向后移动整屏
C-f 向前移动整屏
* 查找当前光标处单词,向前查找
# 查找当前光标处单词,反向查找

g命令

gg移动到文章最开始;
G 文章最后面;
gf 转到文件,也就是go to file;
gd 转到定义,也就是go to definition;
g* g# 类似* #,但是查找会匹配非完整词;
gj gj gk g0 g^ g$ 类似j k 0 ^ $, 作用于自动换行;
ga 查看当前字符的ascii;
gu gU 转换小写/大写,后面带一个motion
gQ 进入多行命令模式
还有很多,不想列举了。。。直接去看help吧。

z命令

zz 光标滚动到屏幕正中央
z. 光标定位到行首第一个非空白字符上,同时光标在屏幕居中
z<CR> 光标定位到行首第一个非空字符,同时光标在屏幕顶端
zt 光标卷到屏幕顶端(top)
zb 光标卷到屏幕低端(bottom)
za 折叠开关
zo 打开折叠(open)
zc 进行折叠(close)

简单的替换提示:s

:s/regexp/replacement/ 把regep替换成replacement,仅限当行的第一个;
:%s/regexp/replacement/g 前面加上%,表示整个文件搜索,最后加一个g,表示当前行的所有匹配;
最后的标记含义:
g 当前行的全部,global的意思吧
c 每次都要确认,也就是confirm
i 强制忽略大小写
I 强制不忽略大小写
还有其他的,有点复杂就不写了。

vim在shell下的光标问题

折腾了一下vim在shell下,光标模式问题。百度一下各种资料,最后都解决方案都是如下:

" Change cursor shape between insert and normal mode in iTerm2.app
if $TERM_PROGRAM =~ "iTerm"
  let &t_SI = "\<Esc>]50;CursorShape=1\x7" " Vertical bar in insert mode
  let &t_EI = "\<Esc>]50;CursorShape=0\x7" " Block in normal mode
endif

来源都是这里:
https://hamberg.no/erlend/posts/2014-03-09-change-vim-cursor-in-iterm.html

posted @ 2021-03-26 23:15  薛定谔の三味  阅读(50)  评论(0编辑  收藏  举报