广州活力数据恢复中心

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3478|回复: 9

ubuntu linux vim详细配置

[复制链接]

865

主题

1791

帖子

9605

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9605
QQ
发表于 2021-1-24 22:27:11 | 显示全部楼层 |阅读模式
ubuntu linux vim详细配置


synology nas vimrc:
  1. /etc/vimrc
复制代码


linux:
  1. /etc/vim/vimrc
复制代码


高亮语法:
  1. syntax on
复制代码


在底部显示模式:
  1. set showmode
复制代码


命令模式下,在底部显示,当前键入的指令。比如,键入的指令是2y3d,那么底部就会显示2y3,当键入d的时候,操作完成,显示消失。:
  1. set showcmd
复制代码



支持使用鼠标:
  1. set mouse=a
复制代码


encoding:
  1. set encoding=utf-8
复制代码


启用256色:
  1. set t_Co=256
复制代码


语法缩进:
  1. filetype indent on
复制代码
语法缩进规则的路径:~/.vim/indent/python.vim


设置缩进:
  1. set autoindent
复制代码


设置缩进=4:
  1. set shiftwidth=4
复制代码
在文本上按下>>(增加一级缩进)、<<(取消一级缩进)或者==(取消全部缩进)时,每一级的字符数。

tab为4个空格缩进:
  1. set softtabstop=4
复制代码



显示行号:
  1. set number
复制代码



高亮显示所在行:
  1. set cursorline
复制代码



自动换行:
  1. set wrap
复制代码


状态栏显示当前光标位置(行列):
  1. set  ruler
复制代码


高亮匹配搜索结果:
  1. set hlsearch
复制代码



输入搜索模式时,每输入一个字符,就自动跳到第一个匹配的结果:
  1. set incsearch
复制代码


搜索时忽略大小写:
  1. set ignorecase
复制代码



打开英语单词的拼写检查:
  1. set spell spelllang=en_us
复制代码



Vim 需要记住多少次历史操作
  1. set history=1000
复制代码




命令模式下,底部操作指令按下 Tab 键自动补全。第一次按下 Tab,会显示所有匹配的操作指令的清单;第二次按下 Tab,会依次选择各个指令:
  1. set wildmenu
  2. set wildmode=longest:list,full
复制代码


在Vim中通过鼠标右键粘贴时会在行首多出许多缩进和空格,通过set paste可以在插入模式下粘贴内容时不会有任何格式变形、胡乱缩进等问题:
  1. set paste
复制代码



显示空格和tab键:
  1. set listchars=tab:>-,trail:-
复制代码


Vim编辑器中默认不显示文件中的tab和空格符,通过上面的配置可以获得以下的显示效果,方便定位输入错误

让vimrc配置变更立即生效:
  1. autocmd BufWritePost $MYVIMRC source $MYVIMRC
复制代码


补全方便,但是复制进去的代码也会进行补全, 带来不必要的麻烦!
vim自动补全符号(在synology上测试ok):
  1. "自动补全单/双引号、圆、中、大括号
  2. 35 inoremap ' ''<ESC>i
  3. 36 inoremap " ""<ESC>i
  4. 37 inoremap ( ()<ESC>i
  5. 38 inoremap [ []<ESC>i
  6. 39 inoremap { {<CR>}<ESC>O
复制代码
在ubuntu上测试ok:
  1. "自动补全单/双引号、圆、中、大括号
  2. inoremap ' ''
  3. inoremap " ""
  4. inoremap ( ()
  5. inoremap [ []
  6. inoremap { {}
复制代码




  1. set paste
  2. set listchars=tab:>-,trail:-
  3. autocmd BufWritePost $MYVIMRC source $MYVIMRC
  4. set wildmenu
  5. set wildmode=longest:list,full
  6. #set history=1000
  7. #set spell spelllang=en_us
  8. set ignorecase
  9. set incsearch
  10. #set hlsearch
  11. #set ruler
  12. set cursorline
  13. set number
  14. set softtabstop=4
  15. set shiftwidth=4
  16. #set autoindent
  17. set t_Co=256
  18. #set mouse=a
  19. #set showcmd
  20. set showmode
复制代码














硬盘数据恢复/优盘内存卡数据恢复/服务器数据恢复
data recovery service www.rflashdata.com 数据热线+86 18620923827(微信whatsapp)
buffalo 隨身碟數據救援 bitlocker WDV2 lacie EFS等加密硬盘数据恢复,指纹爱国者加密优盘数据恢复 +86 18620923827
回复

使用道具 举报

865

主题

1791

帖子

9605

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9605
QQ
 楼主| 发表于 2021-1-24 22:55:02 | 显示全部楼层
vim修改过配置还是不能自动缩进, 把vimrc配置里面的set parse删掉就能解决问题!
硬盘数据恢复/优盘内存卡数据恢复/服务器数据恢复
data recovery service www.rflashdata.com 数据热线+86 18620923827(微信whatsapp)
回复 支持 反对

使用道具 举报

865

主题

1791

帖子

9605

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9605
QQ
 楼主| 发表于 2021-1-30 23:12:49 | 显示全部楼层
查到vimrc路径

  1. locate vimrc
复制代码
output:
  1. /etc/vim/vimrc
  2. /etc/vim/vimrc.tiny
  3. /usr/share/vim/vimrc
  4. /usr/share/vim/vimrc.tiny
  5. /usr/share/vim/vim74/gvimrc_example.vim
  6. /usr/share/vim/vim74/vimrc_example.vim
复制代码

这里可以看到vimrc的配置路径跟网上所有的有点不一样. 网上很多都说配置路径在~/.vimrc. 没关系. 我们来改一下.
  1. cat /etc/vim/vimrc >> ~/.vimrc
复制代码
在home下生成.vimrc文件. 然后运行vim
  1. vim
复制代码
输入
  1. :scriptnames
复制代码
output:
  1.   9: /usr/share/vim/vim74/syntax/syntax.vim
  2. 10: /usr/share/vim/vim74/syntax/synload.vim
  3. 11: /usr/share/vim/vim74/syntax/syncolor.vim
  4. 12: ~/.vimrc
  5. 13: /usr/share/vim/vim74/syntax/nosyntax.vim
  6. 14: /usr/share/vim/vim74/plugin/getscriptPlugin.vim
  7. 15: /usr/share/vim/vim74/plugin/gzip.vim
  8. 16: /usr/share/vim/vim74/plugin/logiPat.vim
复制代码
可以看到这里有我们刚生成的~/.vimrc文件.
测试一下这个文件是否生效
  1. echo "rflashdata.com" >> ~/.vimrc
复制代码
运行
  1. vim
复制代码
回车后就可以看到我们刚刚输入的rflashdata.com显示出来了. 说明文件已经生效.




硬盘数据恢复/优盘内存卡数据恢复/服务器数据恢复
data recovery service www.rflashdata.com 数据热线+86 18620923827(微信whatsapp)
回复 支持 反对

使用道具 举报

865

主题

1791

帖子

9605

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9605
QQ
 楼主| 发表于 2021-1-31 07:05:11 | 显示全部楼层
运行vim安装
  1. :PluginInstall
复制代码

报错
  1. Error detected while processing VimEnter Auto commands for "*":
  2. E492: Not an editor command: NERDTree
复制代码
解决方法:
游客,如果您要查看本帖隐藏内容请回复



硬盘数据恢复/优盘内存卡数据恢复/服务器数据恢复
data recovery service www.rflashdata.com 数据热线+86 18620923827(微信whatsapp)
回复 支持 反对

使用道具 举报

865

主题

1791

帖子

9605

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9605
QQ
 楼主| 发表于 2021-1-31 07:32:48 | 显示全部楼层
vim升级(最简单直接brew install vim)

  1. Done! With errors; press l to view log
  2. YouCompleteMe unavailable: requires Vim 8.1.2269+.
  3. Press ENTER or type command to continue
复制代码




升级vim
  1. git clone https://github.com/vim/vim.git
  2. cd vim/src
  3. make
  4. sudo make install
复制代码

  1. ls ~/vim/src -al
复制代码
备份vim
  1. sudo cp /usr/bin/vim /usr/bin/vim.backup
复制代码


复制vim到系统
  1. sudo cp ~/vim/src/vim /usr/bin
复制代码


添加到bash_profile
  1. echo "PATH=\$PATH:/usr/local/vim/bin" >> ~/.bash_profile
复制代码

  1. vim --version
  2. VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Jan 31 2021 07:04:30)
  3. Included patches: 1-2434
复制代码

这里还没完, 需要再更新一下python
  1. sudo apt install python3.7
  2. Reading package lists... Done
  3. Building dependency tree      
  4. Reading state information... Done
  5. E: Unable to locate package python3.7
  6. E: Couldn't find any package by glob 'python3.7'
  7. E: Couldn't find any package by regex 'python3.7'
复制代码
  1. $ sudo apt update
  2. $ sudo apt install software-properties-common
  3. $ sudo add-apt-repository ppa:deadsnakes/ppa
复制代码
一路下来很多坑,更新完后运行python报错:
  1. Traceback (most recent call last):
  2.   File "/usr/bin/pip3", line 9, in <module>
  3.     from pip import main
  4. ImportError: cannot import name 'main' from 'pip' (/usr/local/lib/python3.8/site-packages/pip/__init__.py)
复制代码
解决方法:
  1. sudo vim /usr/bin/pip
复制代码
pip和pip3都要改
原文件:
  1. import sys
  2. from pip import main
  3. if __name__ == '__main__':
  4.      sys.exit(main())
复制代码
改成:
  1. import sys
  2. from pip import __main__
  3. if __name__ == '__main__':
  4.      sys.exit(__main__._main())
复制代码



pip的坑,安装库的时候报错error 13:
  1. Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/bin/pip'
  2. Consider using the `--user` option or check the permissions.
复制代码
解决方法:
  1. pip3 install package_name --user
复制代码









本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
硬盘数据恢复/优盘内存卡数据恢复/服务器数据恢复
data recovery service www.rflashdata.com 数据热线+86 18620923827(微信whatsapp)
回复 支持 反对

使用道具 举报

865

主题

1791

帖子

9605

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9605
QQ
 楼主| 发表于 2021-2-2 07:57:52 | 显示全部楼层

查看vim 版本等详细信息:
  1. vim --version
复制代码
output
  1. Huge version without GUI.  Features included (+) or not (-):
  2. +acl               -farsi             +mouse_sgr         +tag_binary
  3. +arabic            +file_in_path      -mouse_sysmouse    -tag_old_static
  4. +autocmd           +find_in_path      +mouse_urxvt       -tag_any_white
  5. +autochdir         +float             +mouse_xterm       -tcl
  6. -autoservername    +folding           +multi_byte        +termguicolors
  7. -balloon_eval      -footer            +multi_lang        +terminal
  8. +balloon_eval_term +fork()            -mzscheme          +terminfo
  9. -browse            -gettext           +netbeans_intg     +termresponse
  10. ++builtin_terms    -hangul_input      +num64             +textobjects
  11. +byte_offset       +iconv             +packages          +textprop
  12. +channel           +insert_expand     +path_extra        +timers
  13. +cindent           +ipv6              -perl              +title
  14. +clientserver      +job               +persistent_undo   -toolbar
  15. +clipboard         +jumplist          +popupwin          +user_commands
  16. +cmdline_compl     +keymap            +postscript        +vartabs
  17. +cmdline_hist      +lambda            +printer           +vertsplit
  18. +cmdline_info      +langmap           +profile           +virtualedit
  19. +comments          +libcall           -python            +visual
  20. +conceal           +linebreak         -python3           +visualextra
  21. +cryptv            +lispindent        +quickfix          +viminfo
  22. +cscope            +listcmds          +reltime           +vreplace
  23. +cursorbind        +localmap          +rightleft         +wildignore
  24. +cursorshape       -lua               -ruby              +wildmenu
  25. +dialog_con        +menu              +scrollbind        +windows
  26. +diff              +mksession         +signs             +writebackup
  27. +digraphs          +modify_fname      +smartindent       +X11
  28. -dnd               +mouse             -sound             +xfontset
  29. -ebcdic            -mouseshape        +spell             -xim
  30. +emacs_tags        +mouse_dec         +startuptime       -xpm
  31. +eval              -mouse_gpm         +statusline        +xsmp_interact
  32. +ex_extra          -mouse_jsbterm     -sun_workshop      +xterm_clipboard
  33. +extra_search      +mouse_netterm     +syntax            -xterm_save
复制代码
这里可以看到python
  1. -python
  2. -python3  
复制代码
表明这个版本的vim不支持python. 安装YouCompleteMe不单单对vim有版本要求. 还需要python支持.



硬盘数据恢复/优盘内存卡数据恢复/服务器数据恢复
data recovery service www.rflashdata.com 数据热线+86 18620923827(微信whatsapp)
回复 支持 反对

使用道具 举报

865

主题

1791

帖子

9605

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9605
QQ
 楼主| 发表于 2021-6-27 15:51:13 | 显示全部楼层
报错:ModuleNotFoundError: No module named 'watchdog' YouCompleteMe
解决方法:git clone后用install.py安装

硬盘数据恢复/优盘内存卡数据恢复/服务器数据恢复
data recovery service www.rflashdata.com 数据热线+86 18620923827(微信whatsapp)
回复 支持 反对

使用道具 举报

59

主题

84

帖子

560

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
560
QQ
发表于 2021-6-29 23:30:55 | 显示全部楼层
vim使用技巧


删除行
要删除光标当前行,按esc然后按dd,就算删除当前光标所在行
删除多行
按数字然后再按dd,比如要删除当前光标所在的2行,按2再按dd. 要删除更多,改变相应的数字就可以.


vim剪切复制粘贴操作
  1. 按V选整行或者按v从光标位置起选择用键 h,j,k, or l选择结束
  2. 按y复制,按d剪切
  3. 按p键粘贴
复制代码


回复 支持 反对

使用道具 举报

865

主题

1791

帖子

9605

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9605
QQ
 楼主| 发表于 2021-6-30 06:50:28 | 显示全部楼层
vim-plug


macos 安装vim-plug

  1. curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
  2.     https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
复制代码


Vim-plug自身更新(非插件):

  1. :PlugUpgrade
复制代码





安装插件:

  1. :PlugInstall
复制代码



插件状态:

  1. :PlugStatus
复制代码






硬盘数据恢复/优盘内存卡数据恢复/服务器数据恢复
data recovery service www.rflashdata.com 数据热线+86 18620923827(微信whatsapp)
回复 支持 反对

使用道具 举报

865

主题

1791

帖子

9605

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9605
QQ
 楼主| 发表于 2022-5-14 21:14:25 | 显示全部楼层
hotkey in vim


uncomment multiple lines, 把光标移动到第一个你想uncomment的#符号上, CTLR+V然后用箭头键向下拉到你想uncomment的最后一行后再按x键.

硬盘数据恢复/优盘内存卡数据恢复/服务器数据恢复
data recovery service www.rflashdata.com 数据热线+86 18620923827(微信whatsapp)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|硬盘FLASH数据恢复论坛

GMT+8, 2024-11-22 03:17 , Processed in 0.049100 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表