Vim
2017-09-26 本文已影响15人
胡萝卜有刺儿
vim
- gg 光标移动到文件开头
- G 光标移动到文件尾行
- 显示行号
:set number
- 进入某行
:n
n为行号 - w 光标移动到下一个单词开头
- b 光标移动到上一个单词开头
- e 光标移动到下一个单词结尾
- 0 光标移动到本行开头
- ^ 光标移动到本行开头字符(出去空格)
- $ 光标移动到本行结尾
- A 光标移动到本行结尾,直接编辑
- H 光标移动到屏幕的首行
- M 光标移动到屏幕的中间行
- L 光标移动到屏幕的尾行
- ctrl + f 向下翻页
- ctrl + b 向上翻页
- ctrl + d 向下翻半页
- ctrl + u 向上翻半页
- ctrl + e 向下翻一行
- ctrl + y 向上翻一行
- [[ 光标移动到上一个位于第一列的"{"
- ]] 光标移动到下一个位于第一列的"}"
- { 转到上一个空行
- } 转到下一个空行
- '' 两个单引号 光标移动到上一个标记处
- '. 光标移动到上一次修改行
- `. 光标移动到上一次修改点
查找
- / ? 全文向上/下查找匹配字符,支持正则 n向下匹配 N向上匹配
- # 光标在单词上时,输入*向下查找匹配该单词的单词 输入#向上查找
- g* g# 与*#相似,不完全匹配光标处单词
- gd 查找光标处单词在文档中非注释段出现的第一次出现的位置
- % 查找光标所处位置匹配的括号 ()[]{}
替换
- :s/ab/cd/g 将光标所在行包含ab的字符串中的ab替换为cd
- :%s= *$== 将所有行尾多余的空格删除
拷贝, 删除与粘贴
- y 表示拷贝, d 表示删除, p 表示粘贴. 其中拷贝与删除是与光标移动命令
- yw 拷贝从光标开始到光标所在单词结尾内容
- dw 删除从光标开始到光标所在单词结尾内容
- daw 删除光标所在位置单词
- y0 拷贝从光标开始到光标所在行首内容
- d0 删除从光标开始到光标所在行首内容
- y$ 拷贝从光标开始到光标所在行结尾内容
- d$ 删除从光标开始到光标所在行结尾内容
- yy 拷贝光标所在行
- dd 删除光标所在行
- D 删除当前光标到光标所在行尾内容
- xp 交换光标与其后的字符位置
- ddp 光标所在行与下一行交换
- 5yy 拷贝光标以下五行
- 5dd 删除光标以下五行
- x 删除光标后一个字符 X删除光标前一个字符
自动补填
- ctrl + p 编辑模式,输入几个字符后,ctrl + p 会向下搜索补齐单词
TAB
- << 所在行向左移动一个tab
-
所在行向右移动一个tab
- 5>> 光标后五行向右移动一个tab
- :10,15> 10-15行向右移动一个tab
- :10,15>> 10-15行向右移动两个tab
其他
ls
- a 显示指定目录下所有子目录与文件,包括隐藏文件。
- A 显示指定目录下所有子目录与文件,包括隐藏文件。但不列出“.”和 “..”。
- b 对文件名中的不可显示字符用八进制逃逸字符显示。
- c 按文件的修改时间排序。
- C 分成多列显示各项。
- d 如果参数是目录,只显示其名称而不显示其下的各文件。往往与l选项一起使 用,以得到目录的详细信息。
- f 不排序。该选项将使lts选项失效,并使aU选项有效。
- F 在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记 “@”,管道(或FIFO)后面标记“|”,socket文件后面标记“=”。
- i 在输出的第一列显示文件的i节点号。
- l 以长格式来显示文件的详细信息。这个选项最常用。
- L 若指定的名称为一个符号链接文件,则显示链接所指向的文件。
- m 输出按字符流格式,文件跨页显示,以逗号分开。
- n 输出格式与l选项相同,只不过在输出中文件属主和属组是用相应的UID号和 GID号来表示,而不是实际的名称。
- o 与l选项相同,只是不显示拥有者信息。
- p 在目录后面加一个“/”。
- q 将文件名中的不可显示字符用“?”代替。
- r 按字母逆序或最早优先的顺序显示输出结果。
- R 递归式地显示指定目录的各个子目录中的文件。
- s 给出每个目录项所用的块数,包括间接块。
- t 显示时按修改时间(最近优先)而不是按名字排序。若文件修改时间相同,则 按字典顺序。修改时间取决于是否使用了c或u选顶。缺省的时间标记是最后一次修 改时间。
- u 显示时按文件上次存取的时间(最近优先)而不是按名字排序。即将-t的时间 标记修改为最后一次访问的时间。
- x 按行显示出各排序项的信息。
- 列出当前目录的文件、文件夹完整路径
ls -1 | awk '{print i$0}' i=
pwd'/'
- 列出当前目录及子目录的文件、文件夹完整路径
ls -R |awk '{print i$0}' i=
pwd'/'
- 统计文件个数
ls -l "/home/log" | grep "*.log" | wc -l