vim 快捷键 多窗口 属性定义 设置自动缩进

vim在工作过程中有三种模式: 命令模式   插入模式   末行模式

SYNOPSIS
         vim    [options]    [file ..]

打开文件后,直接让光标处于指定行的行首

[root@centos6 test]#vi +20 testfile

命令模式==》插入模式转换:

i: 在光标所在字符的前面插入
I: 在行首插入
a: 在光标所在字符的后面插入
A: 在行尾插入
o: 在下方新建一行插入
O: 在上方新建一行插入

退出文件:

:q!    不保存强制退出
:wq    保存退出
:x     保存退出
:wq!   强制保存退出

命令模式保存退出快捷键:  ZZ

命令模式光标移动:

字符移动:
h:左
l:右
j:下
k:上

单词移动:
w:下一个单词词首
e: 当前词尾或下一个单词词尾
b: 当前词首或上一个单词词首

行内移动:
^:行首第一个非空白字符
0:绝对行首
$:绝对行尾

行间移动:
#G:跳转到第#行
G: 最后一行      (敲两次]也能跳转到最后一行)
gg:第一行       (敲两次[也能跳转到第一行)

句子间移动:
)
(

段落间移动:
{
}

多行一起左右移动:先敲v进入VISUAL模式,移动光标选中多行后:
shift+< :整体往左移动
shift+> :整体往右移动

注意:移动的距离由 set shiftwidth决定
               

显示vim帮助文档:

   WHAT                  PREPEND    EXAMPLE
Normal mode command      (nothing)   :help x
Visual mode command         v_       :help v_u
Insert mode command         i_       :help i_<Esc>
Command-line command        :        :help :quit
Command-line editing        c_       :help c_<Del>
Vim command argument        -        :help -r
Option                      '        :help 'textwidth'

vim命令模式命令:

x:删除光标所在处的字符
#x: 删除光标处起始的#个字符
r: 替换,先敲'r',光标所在处的字符将被替换为紧接着你敲的字符

d:删除,结合光标跳转命令使用,删除跳转范围内的字符
dd: 删除光标所在行 (删除的内容暂存在缓存区,紧接着用p可以粘贴刚刚dd删除的内容)
#dd: 删除光标所在行为起始行开始后面的共#行的内容

y: 复制,结合光标跳转命令使用,复制跳转范围内的字符
yy: 复制整行(Y也可以)
#yy: 复制从当前行往下#行的内容

p:粘贴,如果此时缓冲区里是整行,则粘贴于当前光标所在行的下方,否则,粘贴至当前光标所
在处的后面
P:大写P,与小p相反,粘贴在上方或者前面

c: 修改,结合光标跳转命令使用,修改跳转范围内的字符;就是先删除跳转范围内的内容,在
切换到插入模式
cc: 删除光标所在行整行,然后切换到插入模式(C也可以)
#cc: 删除光标所在行整行,然后切换到插入模式
vim 可视化模式:  结合编辑命令d, c, y使用更佳
v: 光标走过的字符
V: 光标走过的行
ctrl+v: 块选择(可对选中的列操作)

撤销操作:
u: undo,撤销此前的操作
#u: 撤销最近的#此操作

撤销u撤销的操作:
ctrl+r

翻屏操作:

ctrl+f: 向文件尾部翻一屏
ctrl+b: 向文件首部翻一屏
ctrl+d: 向文件尾部翻半屏
ctrl+u: 向文件首部翻半屏

末行模式命令:

内容定界:

#: 第#行
#,#: 从第#行到第#行
#,+#: 从第#行起,往下#行

.: 当前行
$: 最后一行
%: 全文,相当于1,$

/part1/,/part2/: 从第一次被part1模式匹配到的行开始,到第一次被part2模式匹配到的行
结束的内容
#,/part/: 从第#行开始到第一次被part模式匹配所在行的内容
/part/,#: 从第一次被part模式匹配的行到第#行的内容
/part/,+#: 从第一次被part模式匹配的行到此行往下#行的内容

w /path/to/somefile: 将选定范围内的内容保存至/path/to/somefile文件中
r /path/to/somefile: 将/path/to/somefile文件中的内容读取到当前指定的位置

查找:

/PATHERN: 从当前位置往文件末尾查找
? PATHERN: 从当前位置往文件首部查找
切换查找到的结果:
            n:与命令同方向切到下一个结果
            N: 与命令反方向切到下一个结果
noh: 关闭查询结果的高亮显示

查找并替换:

位置界定s/查找模式(支持基本正则表达式)/替换内容/修饰符

位置界定:指定查询范围,如 %s/part/something/g 表示全文件查询,全文替换
替换内容:不支持模式,但能使用引用(\1,\2等后向引用,或'&'引用前面查找模式匹配到的整个内容)
修饰符: 
      i: 忽略大小写
      g: 全局替换,默认只替换每行的第一个
分隔符/可以用其它没有出现过的字符替代,如s@@@  s### s===等 

删除匹配到的行:
g/PATHERN/d: 删除全文匹配到的行
4,10g/PATHERN/d: 删除第4行到第10行匹配到的行
v/PATHERN/d: 删除全文除了匹配行以外的全部行


多窗口模式:

vim -[o|O] file1 file2 file3 :打开多个文件,出现多个窗口
o:窗口水平分割
O:窗口垂直分割

ctrl+w (上下左右箭头):窗口间光标切换,敲两次ctrl+w可以在窗口间依次切换

单个文件多窗口:
ctrl+w,s: 水平分割
ctrl+w,v: 垂直分割


多文件模式:

vim file1 file2 file3 : 打开多个文件(只显示其中一个文件)
next: 切换到下一个文件
previous: 切换到上一个文件
last: 切换到最后一个文件
first: 切换到第一个文件
qall: 全部退出
qall!: 全部不保存强制退出
wqall: 全部保存退出

窗口属性定义:

set nu: 显示行号
set nonu: 关闭行号
set ai: 启动自动缩进功能
set noai: 关闭自动缩进功能
set ic: 忽略字符大小写
set noic: 区分字符大小写
set sm: 括号匹配
set nosm: 取消括号匹配
syntax on: 语法高亮显示
syntax off: 关闭语法高亮
set hlsearch: 开启搜索结果高亮
set nohlsearch: 关闭搜索结果高亮
noh: 本次搜索结果关闭高亮显示
  • 末行模式属性定义只对当前vim进程有效,可通过修改如下vim配置文件进行定义:
    • /etc/vimrc: 全局有效
    • ~/.vimrc: 对当前用户有效

在~/.vimrc中添加如下,设置自动缩进,tab键为4个空格

set tabstop=4
set expandtab
set softtabstop=4
set shiftwidth=4
set autoindent

多行注释和多行取消注释:

多行注释:
1. 进入命令行模式,按ctrl + v进入 visual block模式,然后按j, 或者k选中多行,把需要注释的行标记起来

2. 按大写字母I,再插入注释符,例如//

3. 按esc键就会全部注释了



取消多行注释:

1. 进入命令行模式,按ctrl + v进入 visual block模式,按字母l横向选中列的个数,例如 // 需要选中2列

2. 按字母j,或者k选中注释符号

3. 按d键就可全部取消注释

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值