Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vim笔记 #27

Closed
Wscats opened this issue Jun 2, 2016 · 1 comment
Closed

Vim笔记 #27

Wscats opened this issue Jun 2, 2016 · 1 comment
Labels

Comments

@Wscats
Copy link
Owner

Wscats commented Jun 2, 2016

Vim笔记

Vim是个很好的编辑器,远古神器嘛,当你熟悉了这个编辑器你的逼格是不是瞬间就会高了许多
首先安装vim
当然学习一个编辑器都是为了方便自己,提高效率,可是vim这个文本编辑器的学习曲线是陡峭的
但苦练会让你带来搞效率
而我自己在用git命令的时候再配合vim确实是很强大的开发组合,虽然vim没有代码提示,但是它本身其实是有很多的插件供使用的,当我们git提交代码的时候,用vim来对代码进行解决冲突和编辑都是非常方便的
VIM下载
vim
启动vim

image

i
Insert模式,按 ESC 回到Normal模式
反正如果不知道现在是在什么模式下,就一直按ESC,回到Normal模式,下面功能键都是在Normal模式触发的

image

此时Insert模式跟记事本一样

image

操作vim会经常在这两个模式下切换,就如同在记事本中你在选项卡和编辑内容窗口中切换一样

image
image

只不过这里大部分变成了键盘操作
所以在Normal模式下,键盘上所有的键都变成对应的功能键了,就如同我们按c跟按ctrl+c一样,c在后面就变成了对应的功能键了

x
Normal模式下,按x删除当前光标所在的一个字符

image

其实这个相当于Insert模式下的退格键

:wq
保存+退出vim(:w 保存 :q 退出) 后面跟文件名

image

这个相当于记事本中的文件->(保存)另存为

dd
删除当前行,并把删除的行保存到剪贴板里面,也是IDE里面常用的,快速删除一行代码,不用长按退格了

p
粘贴剪切板,这个功能挺常用的,如果在外面复制完东西,直接在vim界面按p就可以粘贴了

yy
复制当前行到剪切板

da811428-28e3-11e6-92a6-cf371a09e4e9

help
显示相关命令的帮助

image

:q
退出
:q!
不保存直接退出

image

a
在光标后插入,如果本来光标不在最后就会自动帮你定格到最后输入

image

o
在当前行后面插入一个新行,相当于记事本一行的最后敲回车键

image

0
按数字0就是到行头,跟a是相反的

image

^
这个是要结合shift+6,到本行第一个非blank字符的位置(所谓blank字符就是空格,tab,换行,回车等)

$
光标切换到本行行尾

/pattern
搜索 pattern 的字符串

如果搜索出多个匹配,按n可以定位到下一个

u
撤销 就是Undo
这个功能基本IDE都是有的,挺常用的,如同我用PS时候ctrl+z那样方便

ctrl+r
重做 也就是Redo

:e <文件路径/文件名>
打开一个文件,这个在cmd中我常常cd到指定目录,然后dir显示再用vim来打开相应的文件来进行编辑

image

:w
保存

image

保存后会出现written的提示

image

:saveas <文件路径/文件名>
另存为

image

保存成功后也会出现written的提示

image

有一点需要注意的是如果只是保存或者另存为但是一直没有退出vim编辑的话,文件会一直以下图后缀在文件夹

image

但是如果保存并退出了,就会变成保存时候定义的文件名和后缀了

image

:x
ZZshift+z
:wq
上面这三个都是保存并退出,注意ZZ是不需要输入冒号和回车的
image

:q!
退出但不保存
:qa
强行退出所有的正在编辑的文件,就算别的文件有更改

:bn
:bq
有时候我们需要打开多个文件,就是在一个文件已经打开的情况下我们可以继续用:e来打开其他文件,当打开多个文件的时候,可以使用上面这两个命令来切换下一个或者上一个文件

image

.
这个命令可以重复执行自己运行的上一个命令

N<命令>
打这个的时候是不可见的,也就是盲打
N就是输入一个数字,比如我输入9p,就会出现下图这个

image

G
将光标定位到最后一行的头部

image

w
到下一个单词的开头。
e
到下一个单词的结尾。

  • 如果你认为单词是由默认方式,那么就用小写的e和w。默认上来说,一个单词由字母,数字和下划线组成
  • 如果你认为单词是由blank字符分隔符,那么你需要使用大写的E和W。

*和#
当你把光标放到catwsscat上的时候按*或者#就会移动到匹配该单词的上一个或者下一个

  • *在键盘左边是匹配上一个单词
  • #在键盘右边是匹配下一个单词

image

%
匹配括号移动,支持(,{, [,你需要把光标先移到括号上

image

v
进入可视化选择后按键盘的上下左右的方向键都会帮你自动选择

qq 20160603100040

可视化选择下
J → 把所有的行连接起来(变成一行)
< 或 > → 左右缩进
= → 自动给缩进 (这个确实挺方便的)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant