vim 常用指令与设置

文章目录

  • vim 工作模式
    • 命令行模式
    • 文本输入模式
    • 末行模式
  • 模式切换
  • vi 常用命令
  • 常用编程指令
  • 分屏操作
  • 光标移动
  • vim 设置
    • 颜色设置
    • 搜索 高亮设置

vim 工作模式

vi 编辑器有 3 种基本工作模式,分别是命令模式、文本输入模式和末行模式。

命令行模式

该模式是进入 vi 编辑器后的默认模式。任何时候,不管用户处于何种模式,按下Esc键即可进入命令模式。在命令模式下,用户可以输入 vi 命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释。若输入的字符是合法的 vi 命令,则 vi 在接受用户命令之后完成相应的动作。但需注意的是,所输入的命令并不回显在屏幕上。若输入的字符不是 vi 的合法命令,vi 会响铃报警。

文本输入模式

在命令模式下输入插入命令i、a、o、s都可以进入文本输入模式。
a:从光标后面的位置去插入

A:从光标所在行的行尾进行插入

i:从光标前的位置插入

I:从光标所在行的行首开始插入

o:光标切到下一行插入

O:光标切到上一行插入

s:删除光标盖住的字符

S:删除光标所在行
在该模式下,用户输入的任何字符都被 vi 当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按下Esc键即可。

末行模式

末行模式也称 ex 转义模式。在命令模式下,用户按 : 键即可进入末行模式下,此时 vi 会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个:作为末行模式的说明符,等待用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。末行命令执行完后,vi 自动回到命令模式。

模式切换

vim 常用指令与设置_第1张图片

vi 常用命令

指令 说明
:100 跳转到100行
:qall 退出所有窗口
yy 将光标移动到将要复制的行处, 按“yy”单行复制
nyy 在命令模式下,将光标移动到将要复制的首行处,按“nyy”复制n行
p 在命令模式下,将光标移动到将要粘贴的行处,按“p”进行粘贴
u 撤销上一步的操作
Ctrl+r 恢复上一步被撤销的操作
ctrl+o 后退到上次的位置
ctrl+i 前进到下一个位置
:set nu 显示行号
:set nonu 取消行号
shift+3 选中光标所在单词
zi 当我们创建了折叠以后,可以使用zi关闭所有折叠, 将光标移到想浏览的文本处,再按zi,打开所有折叠
v+e+y 光标移动到单词的开头,按 v 按e 按y,复制单词
v+e+p 光标移动到bbb的开头,按 v 按e 按p ,粘贴单词
复制外部内容 按i进入insert模式,通过鼠标右键->粘贴来将复制的文本粘贴进去
ggVG 全选,gg 让光标移到首行,在vim才有效,vi中无效 ,V 是进Visual(视)模式 ,G 光标移到最后一行 ,选中内容以后就可以其他的操作了,比如: d 删除选中内容 y 复制选中内容到0号寄存器 "+y 复制选中内容到+寄存器,也就是系统的剪贴板,供其他程序用

常用编程指令

建议先看看帮助手册中的下面章节, 其中有关tags文件的部分你可以先跳过, 在后面的章节中会讲到, 到时候你在回来看看, 就觉得很简单了:

:help usr_29
:help usr_30

下面是我常用的一些命令, 放在这里供我备忘:

指令 说明
% 跳转到配对的括号去
[[ 跳转到代码块的开头去(但要求代码块中’{'必须单独占一行)
gD 跳转到局部变量的定义处
‘’ 跳转到光标上次停靠的地方, 是两个’, 而不是一个"
mx 设置书签,x只能是a-z的26个字母
`x 跳转到书签处("`"是1左边的键)
> 增加缩进,"x>"表示增加以下x行的缩进
< 减少缩进,"x<"表示减少以下x行的缩进

set noswapfile

分屏操作

指令 说明
:new 打开一个新的窗口(水平分屏)
:e 在当前窗口打开 文件
:sp [filename] 水平分屏
:vsp [filename] 垂直分屏
ctrl+w+w 循环切换分屏
ctrl+w+h 切换到左边的窗口
ctrl+w+l 切换到右边的窗口
ctrl+w+j 切换到下面的窗口
ctrl+w+k 切换到上面的窗口
ctrl +w +] 在当前窗口分屏

光标移动

指令 说明
w 向前移动,光标停留在下个单词词首,每次一个单词(单词中不含其他字符如:- \ = +等)
W 向前移动,光标停留在下个单词词首,每次一个字符串(字符串可以含有其字符如:- \ = +等,is-a word/and/bog 这种都是字串)
b 向后移动,光标停留在前个单词词首,每次一个单词(单词中不含其他字符如:- \ = +等)
B 向后移动,光标停留在前个单词词首,每次一个字符串(字符串可以含有其字符如:- \ = +等,is-a word/and/bog 这种都是字串)
e 向前移动,光标停留在前个单词词尾,每次一个单词(单词中不含其他字符如:- \ = +等)
E 向前移动,光标停留在前个单词词尾,每次一个字符串(字符串可以含有其字符如:- \ = +等,is-a word/and/bog 这种都是字串)
A 光标移至行尾并进入编辑模式
I 光标移至行首并进入编辑模式
0 跳转到当前行首
$ 跳转到当前行尾
gg 回到文件首行
G 回到文件末行

vim 设置

颜色设置

Vim中对颜色(包括字体等其他样式)的设置是用hightlight命令,可简写为hi。
(1)对函数名等的设置:除了Function关键字,还有String/Number/Float/Label / Search
highlight Function cterm=bold,underline ctermbg=red ctermfg=green
(2) 对自动补全提示样式的设置

我使用的提示插件是AutoComplPop。

highlight Pmenu ctermbg=darkred
highlight PmenuSel ctermbg=red ctermfg=yellow

编辑自己的vim 启动脚本 ~/.vimrc 中,加入相关hi 指令即可

搜索 高亮设置

vim ~/.vimrc

添加 set hlsearch ,或者命令行设置

然后保存退出便可。

你可能感兴趣的:(工具,#,vim)