您的位置:首页 > 运维架构 > Linux

vim 学习笔记

2016-05-06 18:52 405 查看
内容来源:《vim 实用技巧》一书
vim 移动位置的键:
h 左
j 下 gj 按屏幕行向下移动
k 上 gk 按屏幕行向上移动
l 右
0 移动到行首 g0 屏幕行行首
^ 移动到实际行的第一个非空白字符 g^ 屏幕行
$ 移动到行尾 g$ 屏幕行行尾
w 正向移动到下一单词的开头
b 反向移动到上一单词的开头
e 正向移动到下一单词的结尾
ge 反向移动到上一单词的结尾

. 表示重复上一次的动作
@:表示重复上一次的Ex命令
;表示重复上一次f[c]查找

可视模式下选中字符按U 或 u是切换字符大小写
用法:
gUU 把一行中的字符变大写
guu 把一行中的字符变小写

gv 返回上一次可视块的选中状态
可视模式下按I进入插入模式,插入的字符会插入到选中的区块范围

命令行模式匹配的符号:
1 文件第一行
$ 最后一行
0 虚拟行 第一行上方
. 光标所在行
'm 包含位置标记m的行
'<,'> 高亮选区的起止行
% 表示1,$的简写即所有行

:copy :t 复制行
用法:
:[range]copy {address}
:6t. 表示把第6行复制到当前行的下一行
:t6 表示把当前行复制到第6行下方
:t. 等同于yyp
:t$ 把当前行复制到文件末尾
:'<,'>t0 把高亮区段复制到文件开头

:move :m 移动行的用法类似copy

在指定范围上执行普通模式命令:
:normal i//

tab自动补全Ex命令,Ctrl+d列出补全命令的列表
习惯用bash shell的工作方式一般设置为
:set wildmode=longest,list

默认Ex命令会记录20条历史记录,
增加历史记录条数可把以下配置写入vimrc文件
set history=200

普通模式下打开查找和Ex命令历史命令的命令行窗口:
q/
q:

运行shell命令:
:!ls -lh %
%在这里代表当前文件名
:read ![cmd] 把shell命令执行结果插入到光标下方
:[range]write ![cmd] 把vim中的范围字段作为标准输入到shell命令
:[range]!{filter} 使用外部shell命令过滤指定的vim范围字段

vim 默认按 tab 键是向前进8个空格,即缩进的字符为8个,
可以在命令行模式用下面的设置缩进为4个空格:
set shiftwidth=4 softtabstop=4 expandtab

在普通模式下,缩进一行或是一段可以用>> <<
分别表示向右和向左缩进

一次打开多个文件的情况下
:ls 表示列出缓冲区的文件列表
:bp :bn 可上下切换打开的文件

:ls
4 %a "ifcfg-eth0" 第 3 行
5 # "install.log" 第 2 行
%在这里表示当前窗口打开的文件,#表示轮换文件,按ctrl^ 可在当前和轮换文件间切换

参数列表:
:args
默认是打印当前参数列表的内容,
:args [file1] [file2]
设置参数列表的内容
:args **/*.* 表示把子目录下的所有文件加入缓冲区
:args `cat filelist.txt` 把shell命令执行结果中的文件作为参数加入

:qall! 退出不保存所有缓冲区的修改
:wall 保存所有缓冲区修改

水平/垂直切分窗口:Ctrl+w s/v
切分后另一个窗口打开新文件
:sp file
:vp file
切换窗口命令:
Ctrl+w w 循环切换
Ctrl+w h/j/k/l 按方向切换
:close 关闭活动窗口
:only 只保留活动窗口

Ctrl+w = 所有窗口等宽等高
Ctrl+w _ 最大化活动窗口高度
Ctrl+w | 最大化活动窗口宽度
以下是设置为N行
N Ctrl+w _
N Ctrl+w |

打开文件:
:edit
:edit %<tab>打开当前文件所在的路径,包含文件名
:edit %:h<tab>打开路径,不包含文件名

如果navigation在app子目录下,可以用设置path后通过find查到并打开,
:set path+=app/**
:find navigation.js

可视模式下:
a) 一对圆括号
i) 圆括号内部
at 一对XML标签
it XML标签内部
iw 当前单词
aw 当前单词加一个空格
iW
aW
is
as
ip
ap

daw
ciw

位置标记:
mm
`m
`` 上次跳转动作之前的位置
`. 上次修改的地方
`^ 上次插入的地方
`[ 上次修改或复制的起始位置
`] 上次修改或复制的结束位置
`< 上次高亮选区的起始位置
`> 上次高亮选区的结束位置

% 在匹配括号间跳转
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  VIM 技巧 Linux