0%

vim的使用技巧

TodoItem

异常情况处理 todo

W10: Warning: Changing a readonly file

Basic Knowledge

Hotkeys In Normal Mode

Moving(移动)

key desc
0 移动到行首
$ 移动到行尾
G 移动到最后一行
1G 移动到第一行
dG 从当前行删除到最后一行
v+hjkl 从当前位置开始移动并选中
V+jk 从当前行开始移动并选中
shift+<or shift+> 选择之后可以在命令行模式将代码进行左右移动。

Editing(编辑)

key desc
dd 删除当前行
d1G 从当前行删除到第一行
Ndd 删除光标以下的N行
d$ 删除光标所在到行尾
d0 删除光标所在到行首
daw 删除光标所在单词

View(视图)

key desc
^+w s 上下分割当前打开的文件。
^+w v 左右分割当前打开的文件。
^+w (h,l,j,k) 移动光标到不同的分屏。
^+w c 关闭当前窗口。

Commands In command Mode

search(搜索)

command desc
:/ or ? 命令行模式输入要搜索的字符串,查看下一个匹配按n,查看上一个匹配按N

Moving(移动)

command desc
:1000 快速移动到第1000行,在命令行模式下
:m+ 将当前行向下移动
:m+n 将当前行向下移动n行,最后一行使用$
:m- 将当前行向上移动
:m-n 将当前行向上移动n行,第一行使用0
:$ 跳到文件最后一行
:0 跳到文件第一行

批量替换

https://www.cnblogs.com/configure/p/10233565.html

搜索

正则表达式

命令行模式搜索以”socket”开头以5结尾的字符串

1
/socket.*5$

问题

中文乱码

每次打开 vim 后,输入
:set encoding=utf-8

或者,在当前用户目录下,新建 .vimrc文件,在里面添加
:set encoding=utf-8