vi笔记附录1--vi之配置一个强大的c语言、python IED

vi笔记附录1--vi之配置一个强大的c语言、python IED

 

2020-11-07-更新-三、vim特殊使用方法--12、NERDTree NERDTreeDirArrowExpandable 报错

一、vim效果图

       话不多说,想知道vi/vim文档编辑器有多强大请看下图,图1是我自己测试的c语言IDE,图2是小码哥测试的python IDE,通过下面两个图可以见识vim独特之处了!

图1

图2

那么如何来配置以上的IED呢,方法如下:

 

二、简易安装方法:

打开终端,执行下面的命令就自动安装好了:

wget -qO- https://raw.github.com/ma6174/vim/master/setup.sh | sh -x

或者自己手动安装:(以ubuntu为例)

  1. 安装vim sudo apt-get install vim
  2. 安装ctags:sudo apt-get install ctags
  3. 安装一些必备程序:sudo apt-get install xclip vim-gnome astyle python-setuptools
  4. python代码格式化工具:sudo easy_install -ZU autopep8
  5. sudo ln -s /usr/bin/ctags /usr/local/bin/ctags
  6. clone配置文件:cd ~/ && git clone git://github.com/ma6174/vim.git
  7. mv ~/vim ~/.vim
  8. mv ~/.vim/.vimrc ~/
  9. clone bundle 程序:git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
  10. 打开vim并执行bundle程序:BundleInstall
  11. 重新打开vim即可看到效果
以上方法是小码哥配置好的vim IDE,详细问题可以去参考其博客和GitHub:
博客网址:http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html
GitHub网址:https://github.com/ma6174/vim/tree/master
 
小码哥的方法建议直接使用wget,wget亲测可用;当然有能力的可以手动安装,但是极易出错!本人在Ubuntu1404和Centos7上面测试过,都可以使用!
注意小码哥的wim中的() <> []默认都没有开放,需要自己在~/.vimrc中取消注释 但是取消后使用 小马哥的vim,发现无法使用() <> []等几个补全功能,解决办法是:使用下面几个能正常使用()补全的vimrc,然后使用小马哥的方法覆盖即可正常使用() <> []了;或者将() [] <>补全的命令放在vimrc最后面

 

三、vim特殊使用方法

0、注意事项
(1)安装注意事项
使用小码哥配置好的vim时候,请使用sudo或root模式运行 wget -qO- https://raw.github.com/ma6174/vim/master/setup.sh | sh -x
 如果只使用普通用户模式则可能会出现在root模式无法用各类插件的提示(普通模式下载安装时在 /root/.vim中是没有相关插件的),在root权限下使用以上命令则可避免上面问题,并且会在/root/.vim和~/.vim中分别有相关插件
(2)部分电脑硬件快捷键与vim快捷键冲突问题
由于vim中内置了很多快捷键,如F1 -F12中的快捷键,但是很多时候F1-F12中的某个键是用来控制电脑声音加减、亮度加减等功能的,此时
F1-F12 中的键可以和Fn配合使用,如F3失灵则使用Fn+F3就好了;(dell 燃7000中测试过)
1、  使用小马哥的vim后发现其和普通ide没有什么区别了,全选拖动啊,ctrl+a,del都可以正常使用,对于未定义或者使用不当的地方,还会出现红色>>箭头提示;还有其它一系列的使用方法将在 vim特殊使用方法中持续更新!

 

2、   F3 或者Ctrl+F3进入目录界面,q退出;

:vertical new 或者:vnew就打开一个竖直的窗口,即为分列打开

vim从右边代码跳到左边目录,只需要ctrl+w就可以了,ctrl+w可以实现不同窗口之间的跳转;

:split 水平打开一个新文件, :split name打开某一个文件

:vsplit 竖直方向打开一个新文件,:vsplit  name 竖直方向打开一个名为name的文件 

:close 关闭当前窗口; :q也可以退出当前窗口

Shift+/ 打开快熟帮助栏目,有大量针对目录和标签的操作功能说明

:help 打开中文帮助文档,里面包含各种命令和配置的用法(此帮助手册只限于此方式安装的vim)


3、函数、变量显示
:TlistToggle  或者F9就可以显示当前文件的函数、变量信息,可以通过F9或者q来关闭相应窗口,切换功能还是ctrl+w,当显示函数、变量后,可以直接鼠标点击进入到特定的函数或者变量,也可以使用上下左右箭头和enter键选择进入特定函数和变量,当然还可以使用加减或者+-对多个变量函数进行展开折叠;
其中变量显示、折叠相关的设置可以直接在~/.vimrc中查找Tlist* (?Tlist)来查找相关的设置,可以根据需要修改
注意:使用vim的此功能需要安装ctags,使用apt-get install ctags安装ctags后就可以显示所有变量和函数了,不安装的话无法显示
4、gdb调试F8,按F8后就可以调试代码了,r运行调试的程序,ctrl+c退出正在运行的调试程序,q退出gdb模式
 

5、函数、变量的跳转方法
1)跳转到特定函数、变量可以使用3中的方法,也可以使用下面快捷方法:只需要把光标放在特定函数或者变量处,然后使用以下快捷键就可以快速跳转了,可以快速定位到函数和变量中
2)[+ctrl+i 跳转到函数、变量和#define  
[+ctrl+d 跳转到#define处
ctrl+i 向前跳到前几次光标位置
ctrl+o 向后跳到后几次光标位置
3)shift +3 就可以跳转到特定的单词处,但是该盖茨会变成黑色加亮,可以使用:noh 来取消加亮;
也可以使用 ?查找内容   来查找特定的字符串,使用n来定位不同的位置

6、替换单词方法

1)选择一个单词方法:按住v按住e就可以选中一个单词了嗯,不停的按住e就不停的向后以单词为单位来选择;  

2)选中后 r 加上字符就讲所有选中的字符变为r之后的那个字符了

3)光标选择某个单词,然后yiw就会复制该单词,光标选择另外一个单词,然后viwp就可以替换该单词了;
      当然也可以使用cw来从光标出删除单词并进入insert模式,然后在输入新内容,效果是一样的;
      当然可以对一个单词使用yw,对另外一个单词来用cw,使用Esc后再p就可以删除刚刚的单词了
注意:如果先对A使用yw,再对B使用dw,再p,则粘贴的维dw的内容,原因为dw的内容已经在第一个删除的buffer中,yw被自动转移到第二个buffer中了;
       可以使用下面方法来解决覆盖问题,vim中有多个缓冲器,我们可以把粘贴的内容放在缓冲器中,然后再粘贴到特定地方,比如先将A粘贴在a寄存器中,然后再删除B内容,最后将A寄存器内容粘贴到B处,具体操作如下 :光标先定到A处,用"apw 就将单词复制到a中了,然后使用dw就删除B了,最后用"ap就将a中的内容A粘贴在B处了
7、复制和粘贴
复制是把指定内容复制到内存的一块缓冲区中,而粘贴是把缓冲区中的内容粘贴到光标所在位置。
复制和粘贴的方法如下。
yw:将光标所在位置到字尾的字符复制到缓冲区中,y是yank的首字母。
nyw:将光标所在位置开始的n个字复制到缓冲区中,n为数字。
yb:从光标开始向左复制一个字。
nyb:从光标开始向左复制n个字,n为数字。
y0:复制从光标前一个字符到行首的所有字符。
y$:复制从光标开始到行末的所有字符。
yy:复制当前行,即光标所在的行。
nyy:复制从当前行开始的n行,n为数字。
p:在光标所在位置的后面插入复制的文本,p是paste的首字母。
P:在光标所在位置的前面插入复制的文本。
np:在光标所在位置的后面插入复制的文本,共复制n次。
nP:在光标所在位置的前面插入复制的文本,共复制n次。

8、格式化代码
1) gg           回到文件的第一行
2) shift+v
3) shift+g      回到文件的最后一行
4) =            格式化
对于某些文件,可能之前的tab键不是占用4个空格,使用以上格式化无效,可以使用  :retab  来重新解析tab键

9、扩展自己的dict
很多时候vim中的自动补全语法是有限的,而我们经常使用的语法和函数却不包括在内,此时可以自己在补全文件xx.dict中添加自己的语法
vim的语法补全文件基本在 ~/.vim/dict 和 /root/.vim/dict两个文件加中,如下图,可以在c.dict中添加一个socket函数,那么就会多一个socket语法补全了,如下图;

注意:正常情况下,若在普通用户下配置vim的插件,发现在root权限下无法使用,此时需要让root用户访问到她家的vim插件即可,方法1::添加的时候最好在两个dict(~/.vim/dict 和 /root/.vim/dict)中都添加一下,否则只能在普通用户下使用该补全;方法2:将普通用户下的.vim文件夹链接到root用户目录下,即: ln -s  /home/用户名/.vim  /root/.vim

 
10、其它快捷方式

跳转到行首(正常模式下--非输入模式):Home 、0(注:此处为)对应的0,而非数字键盘上3行3列的0)

跳转到行尾(正常模式下--非输入模式):End 、((注:(为英文模式下的Shift+9)、$;

跳转到文档首:gg、1G

跳转到文档尾:G

11、如何取消vim产生的***.un~和xxx.~文件

在vimrc中添加,如下几行即可:

set noundofile
set nobackup
set noswapfil

12、 NERDTree NERDTreeDirArrowExpandable 报错
默认情况下nerdtree 文件夹扩展方式为 实心 "▸",该字符可能无法被识别到,此时每次启动都会报如下错误:

Missing quote: "▸")
或者如下错误:
Error detected while processing /home/xg/.vim/bundle/nerdtree/plugin/NERD_tree.vim:
line   57:
E115: Missing quote: '????)
E116: Invalid arguments for function get(g:, 'NERDTreeDirArrowExpandable',  '????)

解决方法:
1)更改xx文件中的箭头为>和v
...
if !nerdtree#runningWindows() && !nerdtree#runningCygwin()                          |||     g:NERDTreeSortDirs
    let g:NERDTreeDirArrowExpandable  = get(g:, 'NERDTreeDirArrowExpandable',  '>') |||     g:NERDTreeDirArrowExpandable
    let g:NERDTreeDirArrowCollapsible = get(g:, 'NERDTreeDirArrowCollapsible', 'v') |||     g:NERDTreeDirArrowCollapsible
else 
...
2)更改.vimrc中的箭头为>和v
...
"for nerdtree ctrlp vim-template    
let g:NERDTreeDirArrows = 1              
let g:NERDTreeDirArrowExpandable = '>'   
let g:NERDTreeDirArrowCollapsible = 'V'  
let g:NERDTreeGlyphReadOnly = "RO"
...

 

此部分,本文后续将继续更新!
vim其它相关小技巧请参考以下文章:

vi笔记3——vi之快速移动

vi笔记1--vi之配置一个强大的vi/vim

vim插件1--taglist 
vim插件2--autocomplpop 
vim插件3--dict 

 
 
四、几个常见的vimrc
http://download.csdn.net/download/u011127242/9705427
 
以上是本人配置vim的一些小技巧,贴在此处仅供参考学习,其中第三部分本文将继续更新!
在此,再次感谢小码哥无私的分享精神!
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昕光xg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值