Docker Vim IDE 由博主定制,加入中文环境配置,支持CJK。并升级到最新版本!
Vim Docker
Vim IDE Docker
What’s inside:
Alpine Linux
Vim
+ a ton of awesome plugins seebloodstar/vim:latest
- Good support of
Golang
development withbloodstar/go-tools
container tmux
powerline
Mosh
- OpenSSH, Bash, OMF, Python, etc.
how to start the daemon(and all containers)
-v /etc/localtime:/etc/localtime:ro
- makes tmux display local time
how to connect:
or without host identity check:
Useful Bash scripts
Connect
start the daemon(and all containers)
Vim 中文快查表 <= 戳这里
Tips: 在网页上端导航栏,[快查] => [更多快查表],有更多快查表!
快去看看吧。
Vim
Vim简明教程
1. 键位图
vi-vim-cheat-sheet-sch
vi-vim-cheat-sheet-sch
vim分为三种主要模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)
2. 命令模式
用户刚刚启动 vi/vim,便进入了命令模式。
2.1. 光标移动
按键 | 动作 |
---|---|
h 或 向左箭头键(←) | 光标向 左 移动一个字符 |
j 或 向下箭头键(↓) 或<Enter> | 光标向 下 移动一个字符 |
k 或 向上箭头键(↑) | 光标向 上 移动一个字符 |
l 或 向右箭头键(→) 或 <space> | 光标向 右 移动一个字符 |
w/W | 移动到下一个单词,大写把标点符号当做单词的一部分 |
e/E | 移动到词尾,大写把标点符号当做单词的一部分 |
b/B | 移动到上一个单词,大写把标点符号当做单词的一部分 |
+ | 光标移动到非空格符的下一行 |
- | 光标移动到非空格符的上一行 |
G | 移动到这个档案的最后一行 |
gg | 移动到这个档案的第一行,相当于 1G |
[Ctrl] + f 或 [Page Down] | 屏幕『向下』移动一页 |
[Ctrl] + b 或 [Page Up] | 屏幕『向上』移动一页 |
[Ctrl] + d | 屏幕『向下』移动半页 |
[Ctrl] + u | 屏幕『向上』移动半页 |
0 或功能键[Home] | 数字『 0 』,移动到这一行的最前面字符处 |
$ 或功能键[End] | 移动到这一行的最后面字符处 |
H | 光标移动到这个屏幕的最上方那一行的第一个字符 |
M | 光标移动到这个屏幕的中央那一行的第一个字符 |
L | 光标移动到这个屏幕的最下方那一行的第一个字符 |
2.2. 复制、粘贴
按键 | 动作 |
---|---|
y + 光标移动符 | 复制光标所在到移动范围的内容,例如: yj:复制游标所在的那一整行 yG:复制光标所在到最后一行的内容 yw:复制光标所在到下一个单词的内容 |
yy | 复制游标所在的那一行 |
p | 在光标后粘贴,如果是单词级的粘贴,就会在光标后一位粘贴,如果是行级的粘贴,就会在光标下一行粘贴,下面的 P 粘贴时同理。 |
P | 在光标前粘贴 |
2.3. 文本修改
按键 | 动作 |
---|---|
x | 向 后 删除一个字符 ,相当于[del] |
X | 向 前 删除一个字符,相当于 [backspace] |
d + 光标移动符 | 删除光标所在到移动范围的内容,例如: dj:删除游标所在的那一整行 dG:删除光标所在到最后一行的内容 dw:删除光标所在到下一个单词的内容 |
dd | 删除游标所在的那一整行 |
J | 将光标所在行与下一行的数据结合成同一行 |
r + 「字符」 | 替换光标处的单词为该字符 |
R | 进入replace mode,直到接收到[Esc]按键信号退出该模式 |
2.4. 重复动作
按键 | 动作 |
---|---|
u | Undo,复原前一个动作。 |
[Ctrl] + r | 重做上一个动作。 |
. | 重复前一个动作。 |
n | 向下重复前一个搜寻的动作。 |
N | 向上重复前一个搜寻的动作。 |
「n」+ 命令符 | 「n」是数字,一般可以理解为重复n次该动作,例如: 10j 表示向下移动10行 |
2.5. 可视模式(vim only)
命令模式下按ctrl + v
进入可视模式,这是一个比较特别地模式。
这个模式可以移动光标,选择一大片区域,然后可以对这片区域进行操作。
3. 输入模式
在命令模式下按下i就进入了输入模式。
在输入模式中,除了ESC键退出输入模式,其他按键和平常编辑模式是一样的。
3.1. 进入输入模式
按键 | 动作 |
---|---|
i | Insert,从当前光标前开始输入 |
I | Insert,在目前所在行的第一个非空格符处开始输入 |
a | Append,从当前光标后开始输入 |
A | Append,从光标所在行的最后一个字符处开始输入 |
o | 在当前光标所在的下一行处输入新的一行 |
O | 在当前光标所在处的上一行输入新的一行 |
c + 光标移动符 | 可以理解先按d + 光标移动符 ,然后再按a |
C | 可以理解先按dd ,然后再按a |
4. 底线命令模式
在命令模式下按下:
、/
、?
键位就进入了底线命令模式。
按ESC键退出底线命令模式。
4.1. 查找替换
语句 | 动作 |
---|---|
/word | 向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可! (常用) |
?word | 向上搜索word字符串 |
:n1,n2 s/word1/word2/g | n1 与 n2 为数字。在第 n1 与 n2 行之间将 word1 替换为 word2 。特别地,最后一行为$ , |
:n1,n2 s#word1#word2#g | 效果同上,这个主要用于替换/ 符号,例如每一行行首添加// ,可以这样操作: :1,$ s#^#//#g |
4.2. 文件操作
按键 | 动作 |
---|---|
:w [filename] | 将编辑的数据写入到filename文件中,如果不加参数,默认是当前文件 |
:w! | 若文件属性为『只读』时,强制写入该档案,前提是得有文件的写权限。 |
:q 或 ZQ | 退出vim,如果未保存的内容,该指令执行失败 |
:q! | 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。 |
:wq 或 ZZ | 储存后离开 |
:wq! | 强制储存后离开 |
:r [filename] | 在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面 |
:n1,n2 w [filename] | 将 n1 到 n2 的内容储存成 filename 这个档案。 |
:! command | 不退出vim执行command指令,多用于调试脚本。 |
4.3. 其他功能
按键 | 动作 |
---|---|
:set nu | 显示行号 |
:set nonu | 取消行号 |
:sv | 当前界面打开文件,并呈纵向分布 |
:vs | 当前界面打开文件,并呈横向分布 |
:set fileformat=unix | 由Windows上传到linux的脚本文件,直接执行会报错,需要将其由dos文件格式改unix格式 |
5. 扩展的vim功能
当然,如果仅仅只有原生态的功能还不能让vim成为一个好用的ide,扩展功能才是vim的灵魂所在。