flineca / blog

To use issues as a blog.
MIT License
0 stars 0 forks source link

Vim introduction and cheat sheet for self-use #19

Open flineca opened 9 months ago

flineca commented 9 months ago

Vim is a free and open-source, screen-based text editor program.

All unix-like systems have a vi editor, so it is useful to know the basic usage of vim/vi.

0. 入门功能:进行简单的查看+修改

注::表示开始输入命令,q表示退出,w表示保存,!表示强行执行。

1. Vim的工作模式介绍

打开Vim以后可以在不同的工作模式间切换。不管在什么模式都可以使用Esc键回到普通模式。

一般有如下模式:

  • 普通模式:使用vim打开一个文件时默认模式,也叫命令模式,允许用户通过各种命令浏览代码、滚屏等操作。
  • 插入模式:也可以叫做编辑模式,在普通模式下敲击 i 、a 或 o 就进入插入模式,允许用户通过键盘输入、编辑。
  • 命令行模式:在普通模式下,先输入冒号:,接着输入命令,就可以通过配置命令对vim进行配置了,如改变颜色主题、显示行号等,这些配置命令也可以保存到/etc/vim/vimrc配置文件中,每次打开默认配置执行。
  • 可视化模式:在普通模式下敲击前盘上的 v 键,就进入可视化模式,然后移动光标就可以选中一块文本,常用来完成文本的复制、粘贴、删除等操作。
  • 替换模式:如果我们想修改某个字符,不需要先进入插入模式,删除,然后再输入新的字符,直接在普通模式下,敲击R键就可以直接替换。
  • EX模式:类似于命令行模式,可以一次运行多个命令
    (来自 https://zhuanlan.zhihu.com/p/61515833

2. 光标移动

不能用鼠标指定光标,因此快速使用键盘移动光标就很重要。

在普通模式下,键盘字母都可以用作快捷键而不会被输入文本中间,所以可以先回到普通模式再移动光标:

单词移动:

输入 将光标移动到
w 下一个单词的开头
b 前一个单词的开头
e 下一个单词的词末
2w 指定移动的次数

行移动:

输入 将光标移动到
\$ 当前行的行尾
0 当前行的行首
fx 当前行的第一个字符x上
3fx 当前行的第3个字符x上
tx 目标字符x的前一个字符上

fx和tx可以通过;和,进行重复移动,一个是正向重复,一个是反向重复

屏幕移动:

输入 将光标移动到
H 屏幕最顶端一行。
M 屏幕中间一行。
L 屏幕最底端一行。
gg 到文件头部。
G 到文件尾部。
% 对应符号,在一对()、[]、{}之间跳跃

3. 修改、复制和粘贴

复制:y
粘贴:p

复制的不同情况: 输入 复制
yw 一个单词
y2w 2个单词
y$ 从当前光标到行结尾的所有单词
y0 从当前光标到行首的所有单词
yy 一整行
2yy 从当前光标所在行开始的2行

复制文本块:

  1. 首先进入visual模式:v
  2. 移动光标选择文本
  3. 复制与粘贴操作

4. 误操作

撤销和重做单个操作: 输入 操作
u 撤销
Ctrl+r 重做
通过命令撤销多个操作: 命令 操作
:U 恢复一整行原来的面貌(文件打开时的文本状态)
:q 若文件没有修改,直接退出
:q! 文件已经被修改,放弃修改退出
:wq 文件已经被修改,保存修改并退出
:e! 放弃修改,重新回到文件打开时的状态

5. 查找

6. 配置Vim界面的视觉效果