一、移动光标

表中所有的快捷键都在命令模式(默认状态)下直接使用。

 1、Vim快捷方向键

 Vim光标上、下、左、右移动快捷键
快捷键功能描述
h光标向左移动一位
j光标向下移动一行(以回车为换行符),也就是光标向下移动
k光标向上移动一行(也就是向上移动)
光标向右移动一位

2、Vim光标以单词为单位移动

 Vim光标以单词为单位进行移动
快捷键功能描述
w 或 W光标移动至下一个单词的单词首
b 或 B光标移动至上一个单词的单词首
e 或 E光标移动至下一个单词的单词尾
nw 或 nWn 为数字,表示光标向右移动 n 个单词
nb 或 nBn 为数字,表示光标向左移动 n 个单词

3、Vim光标移动至行首或行尾

光标移动到行首或行尾
快捷键功能描述
0 或 ^光标移动至当前行的行首
$光标移动至当前行的行尾
n$光标移动至当前行只有 n 行的行尾,n为数字

4、Vim光标移动至指定字符

光标移动至指定字符
快捷键功能描述
fx光标移动至当前行中下一个 x 字符处
Fx 光标移动至当前行中下一个 x 字符处

5、Vim光标移动到指定行

光标移动到指定行
快捷键功能描述
gg光标移动到文件开头
G光标移动至文件末尾
nG光标移动到第 n 行,n 为数字
:n编辑模式下使用的快捷键,可以将光标快速定义到指定行的行首

6、光标移动到与一个 "(" 匹配的 ")" (对于 [] 和 {} 也是一样的), 可以将光标先定位在 "{" 处,然后再使用 "%" 命令,使之定位在 "}" 处。

二、VIM窗口分割

1、査看 /etc/passwd 时需要参考 /etc/shadow,两种方法

        (1)先使用 Vim 打开第一个文件,接着输入命 令 ":sp/etc/shadow" 水平切分窗口,然后按回车键;如果想垂直切分窗口则可以输入 ":vs/etc/shadow";

        (2)可以直接执行命令"vim -o 第一个文件名 第二个文件名",也就是 "vim-o /etc/passwd /etc/shadow"。

 2、切换到另一个文件窗口,可以按 "Ctrl+WW" 快捷键。如果想将一个文件的内容全部复制到另一个文件中,则可以输入命令 ":r 被复制的文件名",即可将导入文件的全部内容复制到当前光标所在行下面。

三、Vim批量注释和自定义注释快捷键

1、编辑模式下,多行添加注释或多行删除注释

         (1)添加注释:

                  在指定范围行加"#"注释,可以使用 ":起始行,终止行 s/^/#/g",例如::1,10s/^/#/g

       表示在第 1~10 行行首加"#"注释。"^"意为行首;"g"表示执行替换时不询问确认。如果希望每行交互询问是否执行,则可将 "g" 改为 "c"。

        (2)删除注释

                   取消连续行注释,则可以使用 ":起始行,终止行s/^#//g"     :1,10s/^#//g

           添加"//"注释要稍微麻烦一些,命令格式为 ":起始行,终止行 s/^/\/\//g"。例如::1,5s/^/\/\//g。表示在第 1~5 行行首加"//"注释,因为 "/" 前面需要加转义字符 "\",所以写出来比较奇特。

 2、快捷键

        如定义快捷键 "Ctrl+P" 为在行首添加 "#" 注释,可以执行 ":map^P l#<Esc>"。其中 "^P" 为定义快捷键 "Ctrl+P"。注意:必须同时按 "Ctrl+V+P" 快捷键生成 "^P" 方可有效,或先按 "Ctrl+V" 再按 "Ctrl+P" 也可以,直接输入 "^P" 是无效的。"l#<Esc>" 就是此快捷键要触发的动作,"l" 为在光标所在行行首插入,"#" 为要输入的字符,"<Esc>" 表示退回命令模式。"<Esc>" 要逐个字符输入,不可直接按键盘上的 Esc 键。设置成功后,直接在任意需要注释的行上按 "Ctrl+P" 快捷键,就会自动在行首加上 "#" 注释。取消此快捷键定义,输入 ":unmap^P" 即可。

          取消文件行首的快捷键,则可以设置 ":map^B 0x",快捷键为 "Ctrl+B", "0" 表示跳到行首,"x" 表示删除光标所在处字符。再如,有时我们写完脚本等文件,需要在末尾注释中加入自己的邮箱,则可以直接定义每次按快捷键 "Ctrl+E" 实现插入邮箱,定义方法为 ":map^E asamlee@itxdl.net<Esc>"。其中 "a" 表示在当前字符后插入,"samlee@itxdl.net" 为插入的邮箱,"<Esc>" 表示插入后返回命令模式。所以,通过定义快捷键,我们可以把前面讲到的命令组合起来使用。

        将快捷键对应的命令保存在 .vimrc 文件中,即可在每次使用 Vim 时自动调用,非常方便。

四、显示行号

          1、在命令模式下输入":set nu"即可显示每一行的行号,如果想要取消行 号,则再次输入":set nonu"即可。如果希望每次打开文件都默认显示行号,则可以编辑 Vim 的配置文件。在默认情况下,用户宿主目录中是没有此文件的,需要在当前用户的宿主目录中手工建立,如"vim~/.vimrc","~"代表宿主目录,root 的宿主目录为 /root/,普通用户的宿主目录存放在 /home/ 目录下。可以直接使用 Vim 编辑生成此文件,并在此文件中添加一行"set nu",保存并退出

         2、除了设置行号,配置文件还可以有

常见的可以写入.vimrc文件中的设置参数
设置参数含 义
:set nu
:set nonu
设置与取消行号。
:syn on
:syn off
是否依据语法显示相关的颜色帮助。在Vim中修改相关的配置文件或Shell脚本文件 时(如前面示例的脚本/etc/init.d/sshd),默认会显示相应的颜色,用来帮助排错。如果觉得颜色产生了干扰,则可以取消此设置
set hlsearch
set nohlsearch
设置是否将査找的字符串高亮显示。默认是hlsearch高亮显示
set nobackup
set backup
是否保存自动备份文件。默认是nobackup不自动备份。如果设定了:set backup,则会产生“文件名〜”作为备份文件
set ruler
set noruler
设置是否显示右下角的状态栏。默认是ruler显示
set showmode
set noshowmode
设置是否在左下角显示如“一INSERT--”之类的状态栏。默认是showmode显示

         设置参数实在太多了,这里只列举了常见的几个,可以使用":set all"命令査看所有的设置参数。这些设置参数都可以写入 .vimrc 配置文件中,让它们永久生效,也可在 Vim 中执行,让它们临时生效。

五、VIM配置

1、两种配置文件

           Vim 配置文件分为系统配置文件和用户配置文件:

         (1)系统配置文件位于 Vim 的安装目录(默认路径为 /etc/.vimrc);

         (2)用户配置文件位于主目录 ~/.vimrc,即通过执行 vim ~/.vimrc 命令即可对此配置文件进行合理修改。通常情况下,Vim 用户配置文件需要自己手动创建。

        Vim 用户配置文件比系统配置文件的优先级高,换句话说,Vim 启动时,会优先读取 Vim 用户配置文件(位于主目录中的),所以我们只需要修改用户配置文件即可(不建议直接修改系统配置文件)。

2、环境配置参数

            可以在 Vim 中输入“:set all”指令来查询 。这里列出常见的。

Vim环境设置参数
设置参数功能描述
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
设置编码格式,encoding 选项用于缓存的文本、寄存器、Vim 脚本文件等;fileencoding 选项是 Vim 写入文件时采用的编码类型;termencoding 选项表示输出到终端时采用的编码类型。
set nu
set number
nu 是 number 的缩写,所以上面两个配置命令是完全等效的,二选一即可。取消行号可使用 set nonu。
set cursorline突出显示当前行。
set mouse=a
set selection=exclusive
set selectmode=mouse,key
Vim 编辑器里默认是不启用鼠标的,通过此设置即可启动鼠标。
set autoindent设置自动缩进,即每行的缩进同上一节相同。
set tabstop=4设置 Tab 键宽度为 4 个空格。

        表中各配置参数前面可以添加冒号(:),也可以省略,两种写法都可以。通过以上方式,可以对用户配置文件(.vimrc)进行编辑,进而实现对 Vim 的永久自定义。 在 Vim 编辑模式中,通过 “:set nu” 命令也可以让 Vim 显示行号,但只是临时有效,下次使用 Vim 编辑文件还是不显示行号。而本节介绍的编辑配置文件设置 Vim 的方式,对 Vim 的设置是永久的。

 

 


 

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐