文章目录
vim 如何去掉某个设置,比如去掉行号?
- 去掉某个设置可以在设置项前加
no
,比如设置显示行号set number
,去掉行号set nonumber
;设置自动缩进set autoindent
,去年自动缩进设置set noautoindent
autoindent
可以对编辑的 c 语言文件等代码文件自动缩进。这个功能跟文件后缀有关系。比如 vim a.c
有
1 /*
2 *
3 *
4 */
注释 *
前面自动加了空格。
vim 如何设置tab缩进为 4 个空格?
- 设置缩进 tab 为4个空格
set tabstop=4
set shiftwidth=4
set expandtab
vim 里如何设置搜索,比如搜索字符串时不区分大小写?
- 查找不区分大小写
ignorecase
set hlsearch
set ignorecase
set smartcase
set incsearch
set wrapscan
从网上粘贴代码段到 vim 里, 如何使格式不乱?
- 粘贴网上的代码段,格式不乱使用
set paste
该命令使vim 进行paste
mode,有很多设置被重置失效,比如autoindent
。关掉paste
,set nopaste
。或者在~/.vimrc
中设置set pastetoggle=<F8>
使用<F8>
进行切换paste
模式。
查看 paste
的手册 :help set
When the ‘paste’ option is switched on (also when it was already on):
- mapping in Insert mode and Command-line mode is disabled
- abbreviations are disabled
- ‘autoindent’ is reset
- ‘expandtab’ is reset
- ‘formatoptions’ is used like it is empty
- ‘revins’ is reset
- ‘ruler’ is reset
- ‘showmatch’ is reset
- ‘smartindent’ is reset
- ‘smarttab’ is reset
- ‘softtabstop’ is set to 0
- ‘textwidth’ is set to 0
- ‘wrapmargin’ is set to 0
These options keep their value, but their effect is disabled:
- ‘cindent’
- ‘indentexpr’
- ‘lisp’
vim 里的代码如何高亮?
- 代码高亮什么的还是建议直接在网上找一个 colorscheme 比如 solarized 。我现在用的配置放在了 github 上。my-vim-config
vim 如何开启多个窗口,vim 多窗口之间如何复制文本?
- split 多个窗口,并且多个窗口之前拷贝字符文本
split
创建上下两个窗口,vsplit
创建左右两个并列窗口
窗口之间拷贝,在 visual 模式使用y
(yank) 命令进行复制,然后切换到粘贴的窗口 用p
(put) 粘贴到当前光标后,P
(put) 粘贴到当前光标前。CTRL - ww
切换到下一个窗口,CTRL - wp
切换到上一个窗口
vim 如何开启标签页,vim 多个标签页之间如何切换?
:tabe /path/to/another/file
创建多个标签 tab 窗口,通过gt
或gT
切换标签窗口。
vim 如何使用系统剪贴板,vim如何复制文本到系统剪贴板?
8: vim 复制文本到系统剪贴板,需要 +clipboard
。首先检查当前版本是否支持。
在 bash 中,vim --version | grep clipboard
,
[user@loc ~]$ vim --version | grep clipboard
-clipboard +jumplist +persistent_undo +vartabs
+eval +mouse_gpm +syntax -xterm_clipboard
-clipboard
, -xterm_clipboard
表示不支持
+clilpboard
,+xterm_clipboard
表示支持
或者在 vim 里,使用 :echo has('clipboard')
,返回 1 表示支持,0 表示不支持
Fedora 中可以安装 vim-X11
(gvim, vimx),sudo dnf install vim-X11
来获得支持.
$ vimx --version | grep clipboard
+clipboard +keymap +printer +vertsplit
+emacs_tags +mouse_gpm -sun_workshop +xterm_clipboard
[user@loc ~]$ gvim --version |grep clipboard
+clipboard +keymap +printer +vertsplit
+emacs_tags +mouse_gpm -sun_workshop +xterm_clipboard
安装好后,需要运行 vimx
或者 gvim -v
打开后,使用剪贴板相关命令"+
(quoteplus) 加上 put 和 yank, "+p
三个字符进行 put 粘贴,"+y
进行 yank 复制。
也可以修改~/.vimrc
进行键盘快捷键映射,CTRL-p 从系统剪贴板粘贴, CTRL-y 复制到系统剪贴板
nnoremap <C-y> "+y
vnoremap <C-y> "+y
nnoremap <C-p> "+p
vnoremap <C-p> "+p
所用到的包: vim-common-8.1.2198-1.fc29.x86_64
,vim-X11-8.1.2198-1.fc29.x86_64
,vim-minimal-8.1.450-1.fc29.x86_64
,vim-enhanced-8.1.2198-1.fc29.x86_64
使用 vim 注意积累一些小技巧就行了,没必要搭建成 IDE。
ref:
[1] https://vi.stackexchange.com/questions/84/how-can-i-copy-text-to-the-system-clipboard-from-vim
[2] https://vi.stackexchange.com/questions/2063/how-do-i-get-clipboard-support-in-fedora-20
[3] https://vi.stackexchange.com/questions/84/how-can-i-copy-text-to-the-system-clipboard-from-vim
[4] https://vim.fandom.com/wiki/Accessing_the_system_clipboard