前言:
vim有三种模式:命令模式,插入模式,可视模式
命令模式:执行一些文本的操作
插入模式:书写文本
可视模式:区域操作文本(在google浏览器中配合caret mode来进行初始的光标选择)
vim敲击键盘的格式和方法
- jkl一直放在右手指下面,j:向下。k:向上。l:向右,h:向左。
用来代替上下左右键,因为上下左右键离我们很远,这样可以提高打字速度。
jkl前面加上数字之后即可代表数乘的操作。 - 左手放在asdf四建上面。
这样放置使得我们的手指离所有的字母键的距离的方差最小,有效的提高我们的打字速度。
vim的buff的理解
- Buff
当你编辑一个文本时,,vim将文件的文本从硬盘上拷贝到ARM上,一旦你完成编辑,你可以将文件文本存回硬盘上。当文本在ARM上时的状态就叫做Buff。 - Swap
在文件的同目录下你将找到另一个同名的文件,例如.hello.txt.swp,你可以运行命令:swapname
来看看这个文件的名字是什么?
这个文件是什么呢?Vim在文件中维护缓冲区的备份,并定期将其保存到硬盘中,以便在出现问题时(比如计算机崩溃,甚至Vim崩溃),备份上次保存原始文件以来所做的更改。这个文件被称为“交换文件”,因为Vim不断地将计算机内存中的缓冲区内容与硬盘上这个文件的内容交换。 - 目录技巧
:e ../tmp
:cd ../tmp
:…代表当前父目录的同级目录
:pwd
:print working directory
文件格式的设置
FileType是针对不同类型文件的一个插件。因为不同的编程语言文件有不同的风格,缩进,高亮模式,所以我们设置文件格式可以针对不同的文件显示出不同的效果。
- xml文件
可以将下面代码添加入~/.vimrc
文件中
autocmd BufNewFile,BufRead *.xml source ~/.vim/ftplugin/xmlheader.vim
然后我们需要将xmlheader.vim文件设置前两行为:
call setline(1,'<?xml version="1.0"?>')
call setline(2,'<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XMLV4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">')
可视模式
可视模式就是你可以选择区域,然后可以直接用命令模式来进行操作选择的文本。配合caret模式来进行初始光标的定位。
- 可视化模式的基本操作
- 在vim中是不能用鼠标选择区域操作的,如果要操作某个区域,需要进入到可视化模式。
- 在命令模式下 “ctrl + v” 就可以进入到可视模式了,按"上|下|左|右"移动光标选择区域,按相应操作键就可以对选择区域进行操作。
- 可视化模式下批量添加字符
1.把光标停留在想要加入字符所在的列的第一行
2.移动光标选择添加字符所在列
3."I"进入插入模式
4.写入要插入的字符
5.按"ESC"退出插入模式,字符批量添加成功
跳到指定行n
支持数乘操作。
编辑模式下:ngg
命令行模式下:n
vim脚本功能
脚本功能就是在命令模式下按:之后在:之后输入你想要执行的命令即可。
自行需要google一下。
复制粘贴删除
桌面和vim命令的区别是:
desktop world | vim world | operation |
---|---|---|
cut | delete | d |
copy | yank | y |
paste | paste | p |
word | w(可以数乘运算) | |
撤回 | u | :undo n(数乘运算) |
命令行模式(y:yanked,d:delete,m:move,p:paste)
复制::m,n co k
从m行到n行复制到k行的下一行
移动::m,n m k
从m行到n行移动k行的下一行
删除::m,n de
从m行到n行删除
编辑模式
dd:删除光标处一行
ndd:删除光标所在行及以下的n行(n计数从光标处计算)。
nyy:复制光标所在行以及下n行(n计数从光标处计算)。
鼠标
:behave mswin
:set mouse = a
mouse’ 选项的字符决定 Vim 在什么场合下会使用鼠标:- n 普通模式n
- v 可视模式
- i 插入模式
- c 命令行模式
- h 在帮助文件里,以上所有的模式
- a 以上所有的模式
- r 跳过 |hit-enter| 提示
- A 在可视模式下自动选择
设置vim显示格式
set nu
,设置显示行号
set syntax
,设置显示高亮