第六周 - vim

1. 关于vim

vim是vi的升级版本,在vi的基础之上增加了语法高亮,多级撤销等功能。Vim的主要理念是:命令使用按键各种组合,很多快捷键,并且专门设计使得程序员手一直在键盘上

2. 三种模式切换

vim中有三种模式: 编辑模式(主要用于在文件中移动光标),输入模式(主要是插入修改文本),命令模式(输入命令)

编辑模式 进入 输入模式:
i:在光标前插入
a:在光标后插入
o:在光标下方打开一个新行
I:在光标所在的行首插入
A:在光标所在的行尾输入
O:在光标的上方打开一个新行
输入模式 退回 编辑模式:
ESC
编辑模式 进入 底线模式:
按 : 键
底线模式 退回 编辑模式: 
ESC

3. Vim打开文件命令

vim [options] [file...]
+#:打开文件后,直接让光标处于第#行的行首
+/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首

4. 关于编辑模式

  1. 移动光标
k 上
j  下
h 左
l  右
w 下一个单词词首
e 下一个单词词尾
b 前一个单词词首
^ 跳转至行首第一个非空白字符
0 跳转至行首
$ 跳转至行尾
#G 跳转至#行
G 最后一行
) 下一句
( 上一句
} 下一段
{ 上一段
  1. 大范围移动
ctrl + f 前移一页
ctrl + b 后移一页
H 移动到屏幕最上
M 中间
L 最后
  1. 编辑命令
    x 删除光标所在处的字符
    r 替换光标所在处的字符
    dd 删除一行
    p 粘贴命令(如果缓冲区的内容为整行,则粘贴在当前光标所在行的上方,否则,则粘贴至当前光标所在处的前方)
    yy 复制一整行(可结合光标跳转范围复制)
    #yy 复制#行
    cw 删除该词并自动转换为输出模式
    c$ c^ c0
    cc 删除所在行并转换为输出模式
    u 撤销此前操作 或 ctrl +r
    . 重复前一个编辑动作
    v 可视化模式 一个字符一个字符选
    V 可视化模式一行一行选
    ZZ 文件如果已编辑,把内存缓冲区的数据会写到启动vim时指定的文件里,然后退出vim,无需加: 和回车

5. 关于命令模式

  1. 搜索匹配
/str1 正向搜索 str1
n      继续搜索下一个str1位置
N     继续搜索上一个位置
?str2 反向搜索
  1. 保存和退出
:e path_to_file/filename
:w 保存
:wq 保存并退出
:q 退出
:q! 放弃所有修改并退出
:n 光标移动到n行
:128w file 将128行写入file这个文件中
:2,33w file  从第2行开始到第3行,写入file文件
:.,.+5w file 从当前行开始到之后五行的内容写入file
:w file将文件全部写入file文件内
  1. 选项设置
:set option 设置选项 option
autoindent 自动缩进
ignorecase 忽略表达式中大小写字母
number 显示行号
ruler 在屏幕底下显示光标所在行和列位置
tabstop 设置tab=n, n默认为8,按tab跳过的空格数
mk 将选项保存在当前目录的.exrc文件中
  1. 替换功能
:s/old/new      //用new替换行中首次出现的old
:s/old/new/g         //用new替换行中所有的old
:n,m s/old/new/g     //用new替换从n到m行里所有old
:%s/old/new/g      //用new替换当前文件里所有的old
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 目录(?)[-] 关于Vim 1 Vim的几种模式 启动Vim 文档操作 光标的移动 1 基本移动 2 翻屏 3 ...
    SunnyLeong阅读 12,831评论 0 32
  • 曾经在思科的工厂测试系统`KlemTest` (`SUSE`命令行模式)中使用`VI`/`VIM`超过2年半,现在...
    戈多在地狱阅读 5,834评论 1 13
  • 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。 启动vim 在命令...
    im蚂蚁阅读 30,927评论 3 48
  • 1. Vim的几种模式 正常模式:可以使用快捷键命令,或按:输入命令行。 插入模式:可以输入文本,在正常模式下,按...
    红线路亚湾阅读 17,451评论 0 1
  • 终究没有等到沪昆高铁全线通车,急匆匆去了云南。在2016年初的春假。一共9天8晚的行程。云南的景点太多,9天的行程...
    乔伊Joyin阅读 2,972评论 2 7