Linux总结(十一):linux移动光标快捷键
一、移动光标
表中所有的快捷键都在命令模式(默认状态)下直接使用。
1、Vim快捷方向键
快捷键 | 功能描述 |
---|---|
h | 光标向左移动一位 |
j | 光标向下移动一行(以回车为换行符),也就是光标向下移动 |
k | 光标向上移动一行(也就是向上移动) |
l | 光标向右移动一位 |
2、Vim光标以单词为单位移动
快捷键 | 功能描述 |
---|---|
w 或 W | 光标移动至下一个单词的单词首 |
b 或 B | 光标移动至上一个单词的单词首 |
e 或 E | 光标移动至下一个单词的单词尾 |
nw 或 nW | n 为数字,表示光标向右移动 n 个单词 |
nb 或 nB | n 为数字,表示光标向左移动 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、除了设置行号,配置文件还可以有
设置参数 | 含 义 |
---|---|
: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”指令来查询 。这里列出常见的。
设置参数 | 功能描述 |
---|---|
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 的设置是永久的。
更多推荐
所有评论(0)