-
Notifications
You must be signed in to change notification settings - Fork 20
Vim
目录 start
目录 end|2020-04-27 23:42|
学习曲线很高,但是学会熟练使用后就效率很高
官方教程程序 vimtutor
bytefluent.com/vivify
方便的自制主题
-
误按
Ctrl S
终止屏幕输出(即停止回显)你敲的依然有效,只是看不见Ctrl Q
即可恢复 -
/usr/share/vim/vim80/macros/less.sh
vim 版 less- 具备语法高亮 路径中间是依据vim版本来的, 按实际情况改动
-
设置默认编辑器
export EDITOR=/usr/bin/vim
-
vim 会导致文件 inode 变更 why inode value changes when we edit in “vi” editor?
配置文件优先级
- 系统 vimrc 文件:
$VIM/vimrc
- 用户 vimrc 文件:
$HOME/.vimrc
- 第二用户 vimrc 文件:
~/.vim/vimrc
- 用户 exrc 文件:
$HOME/.exrc
- defaults file:
$VIMRUNTIME/defaults.vim
- $VIM 预设值:
/usr/share/vim
- 全局修改 :
/etc/vim/vimrc
- 或者配置放在
/etc/vim/vimrc.local
- 然后在
/etc/vim/vimrc
中添加:
if filereadable("/etc/vim/vimrc.local") source /etc/vim/vimrc.local endif
- 然后在
- 或者当前用户:
~/.vimrc
个人vim配置
~/.gvimrc
:set guifont=IBM\ Plex\ Mono\ 12
colorscheme desert
syntax enable
syntax on
- v 可视化操作
-
K J H L 上下左右
-
Ctrl+F 上翻一页
-
Ctrl+B 下翻一页
-
H M L 跳转到屏幕 顶 中 尾
- 2H 第二行 3L 倒数第三行
-
*
当光标在某单词上 会进行搜索跳转到下一个 -
#
与*
一样,不过是跳转到上一个 -
/)
和/(
跳转到 后和前 语句的位置 为了() 跳转方便 -
/}
和/{
跳转到 后和前 段落的位置 -
g_
跳转到最后一个不是空格的字符的位置 -
gg
跳转到文件第一行的起始位置 -
G
跳转到文件最后一行起始位置 -
5gg
或5G
:5
跳转到 5 行的起始位置 -
number
正数则是往下,负数则是往上 (相对)
行内移动
-
w
右移到下一个字的开头 -
e
右移到下一个字的末尾 -
b
左移到前一个字的开头 -
0
左移光标到本行的开始 -
$
右移光标到行末尾 -
^
移动到本行第一个非空字符
fg
在光标所在处(如果是有效的目录或者文件,就能直接跳转过去)
- fg 如果光标所在处是一个完整的路径,就跳转到该文件
-
Ctrl Shift 6
或者:e#
跳回来 | 参考 stackoverflow
-
-
/name
正向搜索字符串 name-
n
搜索后跳下一个 -
N
搜索后跳上一个
-
-
?name
反向搜索字符串
替换
:[range]s/pattern/string/[c,e,g,i]
参数 | 含义 |
---|---|
range | 指的是范围 1,5 指的是1-5行; 1,$ 或是1,% 则是第一行到最后一行; .,5 当期行到第5行 |
pattern | 就是要被替换掉的字串,可以用 regexp 來表示。 |
string | 匹配到 pattern 的字符串替换为 string |
c | confirm,每次替换前先询问 |
e | 不显示error |
g | global 全局 |
i | ignore 不分大小写。 |
% 是目前編輯的文章,# 是前一次編輯的文章, . 表示当前行
:reg
查看寄存器
-
yy
复制当前行nyy
是复制该行开始的共n行(是vim内的剪贴板)-
yn
加换行 等效
-
-
"+nyy
同理复制n行,操作系统级的剪贴板-
"+yn
等效
-
- vim 中粘贴内容时被自动缩进, 导致大量空格
- 先执行
:set paste
命令,然后粘贴 - 关闭 paste 模式
:set nopaste
- 先执行
-
P
/p
将剪贴板的内容粘贴在 前/后-
"+p
将系统的剪贴板内容粘贴进来
-
-
u
撤销上一条命令的效果 -
.
重复最后一条修改正文的命令
- i 在光标左侧插入
- a 在光标右侧插入
- o 在光标该行下一行新增一行
- O 在光标该行上一行新增一行
- I 在光标该行开头插入
- A 在光标该行末尾插入
-
:e path
打开指定路径下文件 -
:w
保存当前编辑的文件 后接文件名就是另存为 -
ZZ
退出Vim 并将所做修改覆盖原始文件 -
:q
未修改的情况下退出 -
:q!
放弃所有修改,退出 -
wq
x
先保存后退出
先 q 再 : 就会显示最近的命令
语言插件
- vim-python
- vim-go
参考: SpaceVim 中文手册
主要看评论, 两个作者理念不同
参考: 如何评价Vim配置文件SpaceVim?
-
【 Algorithm 】
-
【 Blog 】
-
【 C 】
-
【 Database 】
-
【 Distributed 】
-
【 FrontEnd 】
- 【 FrontEnd/Frame 】
- 【 FrontEnd/Node 】
- Font
- Hexo
- JavaScript
- LearnPS
- ResponseCode
- SVG
- ViewSolution
- extjs学习笔记
-
【 Functional 】
-
【 Go 】
-
【 Groovy 】
-
【 Java 】
- 【 Java/AdvancedLearning 】
- 【 JavaBasic 】
- 【 JavaCache 】
- 【 JavaCollection 】
- 【 JavaConcurrency 】
- 【 JavaMap 】
- Annotation
- ClassFile
- Collection
- Concurrency
- Deploy
- Exception
- ExtendsAndInterface
- Generics
- IO
- JDBC
- JDKAndJRE
- JMX
- JVM
- Java11
- Java7
- Java8
- JavaNetwork
- JavaReleaseVersion
- JavaWeb
- JvmPerformance
- MQ
- MultipleLanguage
- Proxy
- Reflection
- Serialize
- SyntaxAndType
- Thread
- WebPerformance
- 【 Java/Android 】
- 【 Java/Ecosystem 】
- 【 Java/MSA 】
- 【 Java/Spring 】
- 【 Java/TemplateEngine 】
- 【 Java/Test 】
- 【 Java/Tool 】
- 【 Java/thread 】
- AlibabaJavaStandard
- DesignPattern
- HashMap解析
- Java-NIO
- Java虚拟机
- Log
- MIS
- Quartz
- RESTful
- WebSocket学习笔记
- ZooKeeper学习笔记
- android学习笔记
- 【 Java/AdvancedLearning 】
-
【 Kotlin 】
-
【 Linux 】
- 【 Linux/Alpine 】
- 【 Linux/Arch 】
- 【 Linux/Base 】
- 【 Linux/Centos 】
- 【 Linux/Container 】
- 【 Linux/Debian 】
- 【 Linux/Tool 】
- JavaDevInit
- Linux系统学习
-
【 MyBlog 】
-
【 Python 】
- 【 Python/Tool 】
- Python
- PythonConcurrent
- PythonGUI
- PythonGame
- PythonNet
- PythonOffices
- PythonWeb
- Python基础
- Python核心学习
-
【 Reactive 】
-
【 Rust 】
-
【 Scala 】
-
【 Script 】
-
【 Skills 】
- 【 Skills/Application 】
- 【 Skills/CS 】
- 【 Skills/Cache 】
- 【 Skills/Councurrency 】
- 【 Skills/DevOps 】
- 【 Skills/Document 】
- 【 Skills/Ecology 】
- 【 Skills/Network 】
- 【 Skills/Search 】
- 【 Skills/SoftwareEngineering 】
- 【 Skills/Spider 】
- 【 Skills/Test 】
- 【 Skills/Vcs 】
- 【 Skills/Work 】
- AppManual
- CelebrityQuotes
- Miscellaneous
- Platform
- Problem
- Protobuf
- RegularExpression
- SoftwareDesignEngineer
- Website
-
【 Windows 】