学习笔记五(vim)

vim

  • vim
    • 打开文件
    • 模式
    • 模式转换
    • 关闭文件
    • 扩展命令模式
    • 命令模式光标跳转
    • 命令模式光标跳转
    • 命令模式翻屏操作
    • 命令模式操作
      • 字符编辑
      • 删除命令
      • 复制
      • 粘贴
      • 改变模式
      • 撤销更改

vim

  • vi:文本编辑器
  • 文本:ASCII,Unicode
  • 文本编辑器种类
    行编辑器:sed
    全屏编辑器:nano,vi
    vim-Vi-Improved
  • 其他编辑器:
    gedit 简单的图形编辑器
    gVim 一个vim编辑器的图形版本

打开文件

vim [选项] 文件名
vim +# 打开文件后,让光标处于第#行的行首,+默认行尾
vim +/PATTERN 让光标处于第一个被PATTERN匹配到的行的行首
vim -b file 二进制方式打开文件
vim -d file1 file2.. 比较多个文件
vim -m file 只读形式打开文件
vim -e file 或 ex file 直接进入ex模式
如果文件本身已存在,则直接打开并显示文件
如果文件本身不存在,当编辑完成后第一次存盘时将创建 

模式

  • 击键行为是依赖于vim的“模式”
  • 三种主要模式
    命令(normal)模式:默认模式,移动光标,剪切/粘贴文本
    插入(Insert)或编辑模式:修改文本
    扩展命令(extended command)EX模式:保存,退出等
  • ESC 退出当前模式

模式转换

命令模式 -->插入模式
i insert,在光标所在处出入
I 在当前光标所在行的行首输入
a append,在光标所在处后面输入
A 在当前光标所在行的行尾输入
o 在当前光标所在行的下面打开一个新行
O 在当前光标所在行的上方打开一个新行

插入模式—ESC—>命令模式
命令模式-----:----->EX模式
EX模式-----ESC,enter------命令模式

关闭文件

扩展命令(EX)模式:
:q 退出
:q! 强制退出,丢弃更改
:wq 保存退出
:x 保存退出

命令模式
ZZ 保存退出
ZQ 不保存退出

扩展命令模式

  • 按“:”进入EX模式
  • 创建一个命令提示符:处于底部的屏幕左侧
  • 常见命令
    r filename 读文件内容到当前文件中
    w filename 将当前文件内容写入另一个文件
    !command 不退出vim的情况下执行命令
    r!command 读入命令的输出

命令模式光标跳转

  • 字符间跳转:

h:左 l 右 j:下 k 上
#COMMAND 跳转由#指定的个数的字符

  • 单词间跳转
    w:下一个单词的词尾
    e 当前或下一单词的词尾
    b 当前或前一个单词的词尾
    #COMMAND 由#指定依次跳转的单词数
  • 当前页跳转
    H:页首 M:页中间行 L:页底
    zt:将光标所在当前行移到屏幕顶端
    zz:将光标所在当前行移到屏幕中间
    zb:将光标所在当前行移到屏幕底端

命令模式光标跳转

  • 行首行尾跳转
    ^ 跳转之行首的第一个非空白字符
    0 跳转之行首
    $ 跳转之行尾
  • 行间移动
    #G 或者扩展命令模式下:# 跳转之第#行
    G 最后一行
    1G,gg 第一行
  • 句间移动
    )下一句 (上一句
  • 段落间移动
    } 下一段 { 上一段

命令模式翻屏操作

  • Ctrl+f 向文件尾部翻一屏
  • Ctrl+b 向文件首部翻一屏
  • Ctrl+d 向文件尾部翻半屏
  • Ctrl+u 向文件首部翻半屏

命令模式操作

字符编辑

x 删除光标处的字符
#x 删除光标处起始的#个字符
xp 交换光标所在处的字符及其后面字符的位置
~ 转换大小写
J 删除当前行后的换行符

  • 替换命令(r,replace)
    r 替换光标所在处的字符
    R 切换成REPLACE模式
    di“” 光标在“ ”之间,则删除“ ”之间的内容

删除命令

d 删除命令,可结合光标跳转字符,实现范围删除
d$ 删除到行尾
d^删除到非空行
d0 删除到行首
dd 删除光标所在的整行 #dd删除多行
D:从当前光标位置一直删除到行尾,等同于d$

复制

y 复制,类似于d命令
y$ 复制到行尾

yy 复制行 #yy 复制多行
Y 复制整行

粘贴

p 缓存区存的如果是整行,则粘贴当前光标所在行的下方,否则粘贴至当前光标所在行的后面
P 缓存区存的如果是整行,则粘贴当前光标所在行的上方,否则粘贴至当前光标所在行的前面

改变模式

c 修改后切换成插入模式
命令模式---->插入模式
c$
c^

cc 删除当前行并输入新内容,相当于S#CC
C:删除当前光标到行尾,并切换到插入模式

撤销更改

u 撤销最近的更改
#u 撤销之前多次更改
U 撤销光标落在这行后所有此行的更改
Ctrl -r 重做最后的撤销更改
. 重复前一个操作
**#.**重复前一个操作#次

你可能感兴趣的:(学习笔记五(vim))