文章目录
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 进行pastemode,有很多设置被重置失效,比如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

本文详细介绍了如何在Vim中移除行号、设置tab缩进为4个空格,实现搜索时不区分大小写,以及掌握代码粘贴、高亮、窗口与标签管理、系统剪贴板操作等实用技巧。
4082

被折叠的 条评论
为什么被折叠?



