memoのVIM
阅读原文时间:2023年07月09日阅读:1

必须给今天看到的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 = "&lt;Esc&gt;]50;CursorShape=1\x7" " Vertical bar in insert mode
  let &t_EI = "&lt;Esc&gt;]50;CursorShape=0\x7" " Block in normal mode
endif

来源都是这里:

https://hamberg.no/erlend/posts/2014-03-09-change-vim-cursor-in-iterm.html