vim的基本使用

vim简介

Vim是从vi发展出来的一个文本编辑器。其代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。

Vim的第一个版本由布莱姆·米勒在1991年发布。最初的简称是Vi IMitation,随着功能的不断增加,正式名称改成了Vi IMproved。现在是在开放源代码方式下发行的自由软件

vim的五种基本模式:

  • normal:不同于一般的文本编辑器,在普通模式下,主要进行移动光标和删除文本,拷贝粘贴文本等操作而非直接编辑文本

  • insert:在此模式下进行文本编辑,就跟正常的打字情境一样。

  • replace:用于替换文本

  • visual:用于选择文本块

  • command-line:使用命令行来进行操作

在这里插入图片描述

模式的切换及使用

普通模式(normal mode)下:

  • 运动命令:如下表;可以通过加参数修改移动的距离,如 20h表示左移20格
按键功能(移动光标)
h左移一格
l右移一格
j下移一格
k上移一格
w向前移动一个单词
b向后移动一个单词
e移动到下一个单词的末尾
0移动到行首
$移动到行尾
^移动到行的第一个非空字符
gg移动到文件首行
G移动到文件末行
f + x移动到当前光标后本行第一个为x的字符处
F + x移动到当前光标前本行第一个为x的字符处
t + x移动到当前光标后本行第一个为x的字符前
T + x移动到当前光标前本行第一个为x的字符后
Ctrl + u向上回滚
Ctrl + d向下回滚
%在匹配的括号两端横跳
  • 编辑:

c命令和 d命令是类似的。 y命令为拷贝,p为粘贴。

按键功能
u撤销掉前一步更改,包括非普通模式下的更改
de删除单词的末尾
dw删除单词
ce删除单词的末尾并进入插入模式
dd删除特定行
cc删除特定行并进入插入模式
x删除当前光标处字符
r + x将当前光标处字符替换为x
ctrl + rreundo,将撤销的操作给撤销掉
yw拷贝单词
yy拷贝当前行
~(波浪号)将字符大小写转换
di + { 或 di + }删除括号内的内容
da删除括号
o新建一行并进入插入模式
da’删除 之间的字符包括

插入模式(insert mode)下:

默认情况下,我们通过按键 i进入插入模式,但是需要的话,也可以进行更精确的操作

按键功能
a在光标后面插入
A在当前光标所在行末尾插入
i从光标所在处插入
I在当前光标所在行首插入
o在当前行下面新建一行,并插入
O在当前行上面新建一行,并插入

替换模式(replace mode)下:

主要进行替换文本的操作。

可视模式(visual mode)下:

进入visual mode可以进行绝大部分普通模式下的编辑

  • v进入基本的visual mode
  • V进入 visual-line mode
  • Ctrl + v进入visual-block mode

命令行模式(command-line mode)下:

  • w保存文件
  • q退出,不保存修改
  • q!强制退出
  • qa退出所有标签页
  • wq!保存文件并强制退出
  • help xx关于xx的帮助, 注意:help :w是关于 :w的帮助, help w是关于按键 w的帮助
  • line1, line2, d删除从line1到line2的行之间的文本。
  • tabnew创建一个新的标签页,tabnew xx.file创建xx.file的新的标签页;此外, tabp返回上一个标签页, tabn返回下一个标签页。
  • set nu设置行号,建议在配置文件中修改一劳永逸(见下面

vim的标签页对于使用vim的操作性而言是很有用的,如图为editors.md的两个标签页 ,使用tabnew editors.md

在这里插入图片描述

注意,除了上述的几种基本模式之外,还有一些派生模式,参见这里

一些配置

朴素的vim在我看来还是不太好用的,关于vim有不少有用的配置可以按个人喜好配置。

进入vim的配置文件,发现里面空荡荡的

vim ~/.vimrc

你可以按照网上的教程进行配置,推荐加入 语法高亮设置行号 以及 tab缩进

"语法高亮.
syntax on
"行号.
set nu
"缩进.
set tabstop=4
set shiftwidth=4
set expandtab
set smarttab

关于vim的命令实在是很多,此处涉及的都是非常基础的,使用vim对于本身语法存在问题的小白而言与IDE相比效率是不高的,要想使用效率高需要走可能颇为曲折的路线。

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页