vim相关
保存和传递宏
1 先建立一个宏。如上
2 在任意一个文件的空白位置normal状态下,命令"ap 即可以把宏的内容显示出来。比如说我的宏是:
"ohello th
id<80>kb<80>kb<80>kbis is a a<80>kba<80>kbmaco of
vim.^["
3 这段内容保存或传递。
4 使用命令:let @a="ohello th
id<80>kb<80>kb<80>kbis is a a<80>kba<80>kbmaco of
vim.^["
或者参考修改宏的第三步。
5 其他人用@a命令就可以使用你制作的宏了。
2018年3月28日17:25:10 —— CentOS 安装vim
8.0
yum install
ncurses-devel
wget
https://github.com/vim/vim/archive/master.zip
unzip master.zip (如果没有unzip就 yum install unzip -y)
cd vim-master
cd src/
./configure
make
sudo make install
vim –version
2018年6月4日15:11:21 —— vim设置
1、vim ~/.vimrc并添加如下内容
set autoindent
set tabstop=4
set softtabstop=4
set expandtab
set number
set shiftwidth=4
set hls
set cindent
map <F2> :w<CR>
" --------------cscope 配置--------------
"if has("cscope")
"
set csprg=/usr/bin/cscope
"
set csto=0
"
set cst
"
set nocsverb
"
" add any database in current directory
"
if filereadable("cscope.out")
" cs add cscope.out
"
" else add database pointed to by environment
"
elseif $CSCOPE_DB != ""
" cs add $CSCOPE_DB
"
endif
"
set csverb
"endif
if has("cscope")
set csprg=/usr/bin/cscope
set csto=0
set cst
"set csverb
set cspc=3
"add any database in current dir
if filereadable("cscope.out")
cs add cscope.out
"else search cscope.out elsewhere
else
let cscope_file=findfile("cscope.out", ".;")
let cscope_pre=matchstr(cscope_file, ".*/")
if !empty(cscope_file) && filereadable(cscope_file)
exe "cs add" cscope_file cscope_pre
endif
endif
map
g<C-]> :cs find 3 <C-R>=expand(“<cword>”)<CR><CR>
map
g<C-/> :cs find 0 <C-R>=expand(“<cword>”)<CR><CR>
nmap
<C-_>s :cs find s
<C-R>=expand("<cword>")<CR><CR>
nmap
<C-_>g :cs find g <C-R>=expand("<cword>")<CR><CR>
nmap
<C-_>c :cs find c
<C-R>=expand("<cword>")<CR><CR>
nmap
<C-_>t :cs find t
<C-R>=expand("<cword>")<CR><CR>
nmap
<C-_>e :cs find e
<C-R>=expand("<cword>")<CR><CR>
nmap
<C-_>f :cs find f
<C-R>=expand("<cfile>")<CR><CR>
nmap
<C-_>i :cs find i
<C-R>=expand("<cfile>")<CR><CR>
nmap
<C-_>d :cs find d
<C-R>=expand("<cword>")<CR><CR>
endif
" --------------cscope 配置 结束--------------
2018年10月16日15:57:43 —— bundle设置
首先执行命令: git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
再将下面的配置粘贴到~/.vimrc中
" --------------vundle 配置开始--------------
set nocompatible " 去除VI一致性,必须要添加
filetype off " 必须要添加
" 设置包括vundle和初始化相关的runtime path
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" 另一种选择, 指定一个vundle安装插件的路径
"call vundle#begin('~/some/path/here')
" 让vundle管理插件版本,必须
Plugin 'VundleVim/Vundle.vim'
Plugin 'derekwyatt/vim-scala' "显示scala语法
"" 以下范例用来支持不同格式的插件安装.
"" 请将安装插件的命令放在vundle#begin和vundle#end之间.
"" Github上的插件
"" 格式为 Plugin '用户名/插件仓库名'
"Plugin 'tpope/vim-fugitive'
"" 来自 http://vim-scripts.org/vim/scripts.html 的插件
"" Plugin '插件名称' 实际上是 Plugin 'vim-scripts/插件仓库名' 只是此处的用户名可以省略
"Plugin 'L9'
"" 由Git支持但不再github上的插件仓库 Plugin 'git clone 后面的地址'
"Plugin 'git://git.wincent.com/command-t.git'
"" 本地的Git仓库(例如自己的插件) Plugin 'file:///+本地插件仓库绝对路径'
"Plugin 'file:///home/gmarik/path/to/plugin'
"" 插件在仓库的子目录中.
"" 正确指定路径用以设置runtimepath. 以下范例插件在sparkup/vim目录下
"Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
"" 安装L9,如果已经安装过这个插件,可利用以下格式避免命名冲突
"Plugin 'ascenator/L9', {'name': 'newL9'}
" 自己的插件
" Plugin 'autoload_cscope.vim'
" 你的所有插件需要在下面这行之前
call vundle#end() " 必须
filetype plugin indent on " 必须 加载vim自带和插件相应的语法和文件类型相关脚本
" 忽视插件改变缩进,可以使用以下替代:
"filetype plugin on
"
" 常用的命令
" :PluginList - 列出所有已配置的插件
" :PluginInstall - 安装插件,追加 `!` 用以更新或使用 :PluginUpdate
" :PluginSearch foo - 搜索 foo ; 追加 `!` 清除本地缓存
" :PluginClean - 清除未使用插件,需要确认; 追加 `!` 自动批准移除未使用插件
"
" 查阅 :h vundle 获取更多细节和wiki以及FAQ
" 将你自己对非插件片段放在这行之后
" --------------vundle 配置结束--------------
2018年7月27日21:28:52 —— ubuntu 安装 cscope
sudo apt-get install cscope
1、建立数据库
在代码根目录下执行 cscope –bR
其中-R是递归建立
2、常用命令
1》查找定义
光标移到符号或函数上,按 ctrl+]
2》查找符号
:cs find s xxx
3》查找函数foo()在什么地方被调用
光标移动到函数名上,按ctrl+shift+减号+c
4》上面的vim配置可以保证,进入到项目的任何一个目录下都可以使用cscope
2018年7月30日9:52:44 —— 查找windows下vimrc的位置
打开一个vim然后输入 :echo $VIM
windows下不要产生 .un~ undofile
在_vimrc 里面添加:set noundofile
2018年8月1日22:22:28 —— vim粘贴外部文本保持格式
打开vim输入如下命令:
:set paste
如果在ubuntu中就按shift + insert进行粘贴,这时候是原格式粘贴,粘贴完之后再执行
:set nopaste
不关闭vim 重新加载配置文件 .vimrc(使配置文件生效)
打开vim之后,输入 :so $MYVIMRC
更新到vim8.1之后按backspace无法连续删除多行
:set backspace=indent,eol,start
更新vim到8.1
如果是utunbu 16.04 LTS 下安装,需要先更新基础库
sudo aptitude install libncurses5-dev libgnome2-dev libgnomeui-dev \
libgtk2.-dev libatk1.-dev libbonoboui2-dev \
libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev \
python3-dev ruby-dev liblua5. lua5.-dev libperl-dev git
sudo apt-get install build-essential
1.下载vim
官网:https://www.vim.org/
最新版本为vim 8.1,历史版本可以从这里下载:ftp://ftp.vim.org/pub/vim/unix
我这里安装的是vim8.1。
下载 vim-8.1.tar.bz2
2.解压
tar -jxvf vim-8.1.tar.bz2
3.执行
./configure
在安装插件的时候如果提示:
requires Vim compiled with Python (2.7.1+ or 3.4+) support,则需要在此步骤增加对Python的支持,如果支持Python2,则增加:
–enable-pythoninterp=yes
如果支持Python3,则增加–enable-python3interp=yes
4. make
5.修改prefix
在解压后的路径下,vim src/auto/config.mk
找到prefix变量,默认是/usr/local。修改成目标路径
6. 执行make install完成安装
7.安装完成后,此时执行vim发现还是原来的版本,需要为vim定义别名。
执行 vim ~/.bashrc
添加上下列语句
alias vim=”/home/cuixianpeng/vim81/bin/vim”
重新查看版本
vim相关的更多相关文章
- 20145234黄斐《信息安全系统设计基础》第八周(Linux下vim相关命令)
Linux下vim相关命令 在编辑程序时经常使用vim,所以记住一些常用的指令还是很有必要的 文件命令 vim file 打开单个文件vim file vim file1 file2 file3 .. ...
- Linux系列笔记 - vim相关记录
一.常用到的vim命令 这里只简单记录常用到的命令,后面会有自己记录的命令,但有些可能不常用. 常规模式: gg 跳到文件头 shift+g 跳到文件尾 行数+gg 跳到指定行 如:123gg 跳到1 ...
- vim相关命令单独记载
1. 无敌的可扩展性 1.1 可扩展性给了软件强大的生命 曾几何时,Windows用户对软件的可扩展性没有概念,他们只能对他们使用的软件进行非常有限的定制.扩展软件的权利保留在软件开发者手中.软件的使 ...
- 架构师养成记--26.vi/vim相关操作
vi/vim命令模式插入模式 aio编辑模式 : aio就是vi/vim的插入模式命令 作用a 在光标后附加文本A 在本行末附加文本i 在光标钱插 ...
- bundle中vim相关快捷键的使用
http://www.cnblogs.com/respawn/archive/2012/08/21/2649483.html http://blog.163.com/liao_ya/blog/stat ...
- Vim相关优化和配置
升级pythonwget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgztar -xvf Python-3.6.5.tgzcd Pyt ...
- Vim相关问题
1.vim格式修改 进入配置文件: $ sudo vim /etc/vim/vimrc 在文件末尾添加: #默认查找忽略大小写 set ignorecase #如果有一个大写字母,则切换到大小姐敏感查 ...
- vim相关资料
http://www.360doc.cn/article/15064667_402846667.html http://blog.jobbole.com/86809/ http://blog.csdn ...
- vim 学习相关记录
VIM 相关内容****************** vim 的三个模式: 编辑模式 --> 输入模式 --> 末行模式 编辑模式: 通常键入键盘值被理解成一个操作; 如: dd(删除行) ...
随机推荐
- 内存泄漏 tensorflow
http://blog.csdn.net/qq_25737169/article/details/78125550
- Selenium HTMLTestRunner 执行测试成功但无法生成报告
为什么用PyCharm或者Eclipse执行测试成功但无法生成HTMLTestRunner报告 最近遇到一些人问这样的问题: 他们的代码写的没问题,执行也成功了,但就是无法生成HTMLTestRunn ...
- `ifdef、`else、`endif 用法
一般情况下,Verilog HDL源程序中所有的行都参加编译.但是有时候希望对其中的一部份内容只有在条件满足的时候才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”.有时,希望当满足条件 ...
- Python全栈之路----函数
基本介绍 定义:函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可. 编程中的函数在英文中有很多不同的叫法:在BASIC中叫做subroutine(子过程或 ...
- 基于python的发送邮件案例
#coding:utf-8 #强制使用utf-8编码格式 import smtplib #加载smtplib模块 from email.mime.text import MIMEText from e ...
- 二维数组的查找(JAVA)
二维数组查找 解题思路:找到该二维数组的特殊点,易知该二维数组左下角的那个点很特殊.从这个点往右看,数值都在变大:而往上看,数值都在变小.所以 我们可以将这个点的索引设为起点(i,j),当比目标数大时 ...
- 移动Web端资源整合
meta篇 viewreport 视窗宽度 <meta name="viewport" content="width=device-width,initial-sc ...
- Android引入动态库so的方法
Android引入动态库so的方法 标签(空格分隔): Android so 第三方库 为了执行效率,会将一些CPU密集性任务如音视频解码.图像处理等放入到so中,还有也会将程序关键核心部分放入到so ...
- prettier-eslint 与 prettier-eslint-cli 区别
prettier-eslint 与 prettier-eslint-cli 区别: prettier-eslint 只能处理字符串 prettier-eslint-cli 能处理一个或多个文件 默认情 ...
- Redis 集群知识点及命令
Redis 集群命令 备注 cluster nodes 查看集群包含的节点 cluster meet <ip> <port> 将 ip 和 port 所指定的节点添加到 nod ...