为了能够复制粘贴到外面,需要下载gvim,可以自行下载。

我的插件管理是用vim-plug来管理的

下载命令

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

然后在vimrc中添加如下代码段

call plug#begin()
"""""中间放插件"""" call plug#end()

在中间放置需要的插件就可以了.

vim-plug管理插件时,只需要加入上面在代码段中加入需要的插件命(如下),然后打开终端输入vim,在按:输入,PlugInstall,就可以完成插件安装。

我自己在使用的一些插件。

 neadtree  管理目录用,我把快捷键设置成F3,可以让它开启或关闭

    Plug 'scrooloose/nerdtree'

 nerdcommenter  代码多行注释用的,还是挺不错的,按住 \+c+space 就可以注释与反注释了

    Plug 'ddollar/nerdcommenter'

 airline、airline themes  美化 vim 底部状态栏

    Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'

 airline使用前需要安装powerline字体

安装方法如下

# clone
git clone https://github.com/powerline/fonts.git --depth=1
# install
cd fonts
./install.sh
# clean-up a bit
cd ..
rm -rf fonts

airline的主题目录如下,可以选择自己想要的主题

~/.vim/plugged/vim-airline-themes/autoload/airline/themes

以下是我的觉得比较好看的主题。

aurora.vim         base16_eighties.vim  dracula.vim     onedark.vim     silver.vim 
badcat.vim         base16_isotope.vim   hybridline.vim  papercolor.vim  term.vim
badwolf.vim        base16_pop.vim       minimalist.vim  peaksea.vim     understated.vim
base16_colors.vim  bubblegum.vim        molokai.vim     ravenpower.vim  vice.vim
base16color.vim    deus.vim             night_owl.vim   raven.vim       wombat.vim

其他的主题就被我删了。

现在我再用的vice和tomorrow主题,我认为还是蛮好看的。

只要在.vimrc中添加

let g:airline_theme="vice"

就可以了。

最后是完整的.vimrc

" ===
" 设置快捷键
" ===
" inoremap ' ''<ESC>i
" inoremap " ""<ESC>i
" inoremap ( ()<ESC>i
" inoremap [ []<ESC>i
" inoremap { {<CR>}<ESC>O map Z ZZ
map - $
map ^
map S :w<CR>
map ; :
map tt :tabnew
map tj :tabNext<CR>
map tk :tabnext<CR>
map gt <nop>
map gT <nop> function! HideNumber() " <F2>开启/关闭行号显示
if(&relativenumber == &number)
set relativenumber! number!
elseif(&number)
set number!
else
set relativenumber!
endif
set number?
endfunc
nnoremap <F2> :call HideNumber()<CR> let g:syntastic_cpp_compiler_options = ' -std=c++11 -stdlib=libc++'
"F9编译
map <F9> :call CR()<CR>
func! CR()
exec "w"
if &filetype == 'cpp'
exec "!g++ % -o %<"
exec "!time ./%<"
elseif &filetype == 'python'
exec "!python %"
endif
endfunc " ===
" 设置编码
" ===
set fencs=utf-,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
set termencoding=utf-
set encoding=utf-
set fileencodings=ucs-bom,utf-,cp936
set fileencoding=utf- " ===
" === 基本设置
" === hi Normal cterm=NONE ctermfg=White gui=bold guifg=#ffffff
hi Constant cterm=NONE ctermfg=LightCyan gui=NONE guifg=#00ffff
set nocompatible " 不要使用vi的键盘模式,而是vim自己的
set clipboard =unnamed,unnamedplus " 共享剪贴板
syntax on " 语法高亮
set cursorline
set whichwrap=<,>,[,],h,l " 允许backspace和光标键跨越行边界
set nu " 显示行号
set selection=exclusive
set selectmode=mouse,key
set listchars=tab:>-,trail:-
set magic " 设置魔术
set guioptions-=T " 隐藏工具栏
set guioptions-=m " 隐藏菜单栏
set laststatus= " 总是显示状态栏
set showmatch " 高亮显示匹配的括号
"匹配括号高亮的时间(单位是十分之一秒)
hi MatchParen ctermbg=blue guibg=lightblue
set matchtime=
set ruler " 显示光标当前位置
"我的状态行显示的内容(包括文件类型和解码)
set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]
set cmdheight=
set autoindent " 自动缩进
set cindent " 以C语言的方式缩进
set shiftwidth= " 设置自动缩进的空格数量
set softtabstop= " tab键的实际占有空格数,统一缩进
set tabstop= " 设置tab键的空格数
set smarttab " 在行和段开始处使用制表符
set mouse=a " 使用鼠标
set completeopt=preview,menu " 代码补全
set nobackup " 从不备份
filetype plugin indent on " 允许插件
filetype on " 侦测文件类型
filetype plugin on " 载入文件类型插件
set viminfo+=! " 保存全局变量
set iskeyword+=_,$,@,%,#,- " 带有如下符号的单词不要被换行分割
set linespace= " 字符间插入的像素行数目
set wildmenu " 增强模式中的命令行自动完成操作
set backspace= " 使回格键(backspace)正常处理indent, eol, start等
set report= " 通过使用: commands命令,告诉我们文件的哪一行被改变过
set fillchars=vert:\ ,stl:\ ,stlnc:\ " 在被分割的窗口间显示空白,便于阅读
set scrolloff= " 光标移动到buffer的顶部和底部时保持3行距离
set nobackup " 禁止生成临时文件
set noswapfile " 禁止生成交换文件
set autoread " 设置当文件被改动时自动载入
set autowrite " 自动保存
set history= " 历史记录数
set confirm " 在处理未保存或只读文件的时候,弹出确认
set ignorecase " 搜索忽略大小写
set hlsearch " 搜索逐字符高亮
set incsearch
set gdefault " 行内替换
set relativenumber number " 相对行号: 行号变成相对 " ===
" === 插入模式下用绝对行号, 普通模式下用相对
" ===
au FocusLost * :set norelativenumber number
au FocusGained * :set relativenumber
autocmd InsertEnter * :set norelativenumber number
autocmd InsertLeave * :set relativenumber "复制选中区到系统剪切板中
vnoremap <leader>y "+y
if has("autocmd") " 打开自动定位到最后编辑的位置, 需要确认 .viminfo 当前用户可写
au BufReadPost * if line("'\"") > && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif " ===
" === vimplug
" ===
call plug#begin() " 中间放插件
Plug 'scrooloose/nerdtree'
Plug 'ddollar/nerdcommenter'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'jiangmiao/auto-pairs'
call plug#end() " ===
" === NERDTree
" ===
let NERDChristmasTree= " 显示增强
let NERDTreeAutoCenter= " 自动调整焦点
let NERDTreeMouseMode= " 鼠标模式:目录单击,文件双击
let NERDTreeShowFiles= " 显示文件
" let NERDTreeShowHidden=1 " 显示隐藏文件
let NERDTreeHightCursorline= " 高亮显示当前文件或目录
let NERDTreeShowLineNumbers= " 显示行号
let NERDTreeWinPos='left' " 窗口位置
let NERDTreeWinSize= " 窗口宽度
let g:NERDTreeCaseSensitiveSort =
let g:nerdtree_tabs_open_on_console_startup=
let NERDTreeIgnore=['\.pyc','\~$','\.swp']
let g:NERDTreeIndicatorMapCustom = {
\ "Modified" : "✹",
\ "Staged" : "✚",
\ "Untracked" : "✭",
\ "Renamed" : "➜",
\ "Unmerged" : "═",
\ "Deleted" : "✖",
\ "Dirty" : "✗",
\ "Clean" : "✔︎",
\ 'Ignored' : '☒',
\ "Unknown" : "?"
\ }
" 快捷键
nnoremap <silent> <F3> :NERDTreeToggle<CR>
set t_Co=
set laststatus=
set lazyredraw " ===
" === airline
" ===
" let g:airline#extensions#tabline#enabled = 1
" let g:airline#extensions#tabline#buffer_nr_show = 1
let g:airline_theme="vice"
let g:airline_powerline_fonts = " ===
" === 新文件标题
" ===
" 新建.c,.h,.sh,.java文件,自动插入文件头
autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()"
" 定义函数SetTitle,自动插入文件头
func SetTitle()
let l =
if &filetype == 'sh'
let l = l+ | call setline(l, "\###############################################################")
let l = l+ | call setline(l, "\# File Name : ".expand("%"))
let l = l+ | call setline(l, "\# Author : Jiaaaaaaaqi")
let l = l+ | call setline(l, "\# Created Time : ".strftime("%c"))
let l = l+ | call setline(l, "\###############################################################")
let l = l+ | call setline(l, "\#!/bin/bash")
let l = l+ | call setline(l, "")
else
let l = l+ | call setline(l, "/*************************************************************** ")
let l = l+ | call setline(l, " > File Name : ".expand("%"))
let l = l+ | call setline(l, " > Author : Jiaaaaaaaqi")
let l = l+ | call setline(l, " > Created Time : ".strftime("%c"))
let l = l+ | call setline(l, " ***************************************************************/")
let l = l+ | call setline(l, "")
endif
if &filetype == 'cpp'
let l = l+ | call setline(l, "#include <bits/stdc++.h>")
let l = l+ | call setline(l, "#define fi first")
let l = l+ | call setline(l, "#define se second")
let l = l+ | call setline(l, "#define pb push_back")
let l = l+ | call setline(l, "#define pii pair<int, int>")
let l = l+ | call setline(l, '#define dbg(x) cout << #x << " = " << (x) << endl')
let l = l+ | call setline(l, "#define mes(a, b) memset(a, b, sizeof a)")
let l = l+ | call setline(l, "")
let l = l+ | call setline(l, "using namespace std;")
let l = l+ | call setline(l, "typedef long long int ll;")
let l = l+ | call setline(l, "typedef unsigned long long int ull;")
let l = l+ | call setline(l, "const int maxn = 1e5 + 10;")
let l = l+ | call setline(l, "const ll mod = 1e9 + 7;")
let l = l+ | call setline(l, "const ll INF = 1e18 + 100;")
let l = l+ | call setline(l, "const int inf = 0x3f3f3f3f;")
let l = l+ | call setline(l, "")
let l = l+ | call setline(l, "int n, m;")
let l = l+ | call setline(l, "int T, cas, tol = 0;")
let l = l+ | call setline(l, "")
let l = l+ | call setline(l, "int main() {")
let l = l+ | call setline(l, ' // freopen("in", "r", stdin);')
let l = l+ | call setline(l, "")
let l = l+ | call setline(l, " return 0;")
let l = l+ | call setline(l, "}")
let l = l+ | call setline(l, "")
endif
endfunc
" 新建文件后,自动定位到文件末尾
autocmd BufNewFile * normal G

manjaro下的.vimrc的更多相关文章

  1. linux环境下source vimrc提示错误unexpected token `"autocmd"'

    编辑完vimrc之后,使用source /etc/vimrc之后报错: $ source /etc/vimrc bash: /etc/vimrc: line 15: syntax error near ...

  2. windows下的vimrc

    很奇怪的事...不会解释 建议编译位置第一次设置为 map <F9> :call CR()<CR>func! CR()exec "w"exec " ...

  3. 汉化manjaro下的火狐浏览器

    1.下载 汉化包 sudo pacman -S firefox-i18n-zh-cn 2.查看add-ons下的language选项有没有已安装的包 3.在浏览器的地址栏输入 搜索intl.local ...

  4. 解决在manjaro下,vscode无法将chrome作为默认浏览器打开

    Same issue. The solution is simple. Find the name of the exec command, for google chrome in arch lin ...

  5. arch linux (manjaro) 下运行tim和qq

    本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/tim_install_wine 基于AUR的安装是没什么难度了, ...

  6. Manjaro下Steam无法启动

    问题描述 直接在桌面环境运行Steam,不会出现任何反应,甚至没有闪过一个对话框. 在终端中运行Sterm,出现以下提示 Repairing installation, linking /home/z ...

  7. Manjaro下带供电的USB Hub提示error -71

    问题描述 这款USB Hub是绿联出的1转7带供电的白色款. 在lsusb中显示为 Bus 004 Device 023: ID 05e3:0616 Genesys Logic, Inc. hub B ...

  8. Manjaro下安装VirtualBox

    安装前需要知道 你需要知道你当前的内核版本 uname -r,比如输出了4.14.20-2-MANJARO那么你的内核版本为414 安装VirtualBox sudo pacman -S virtua ...

  9. manjaro 下golang protobuf的使用

    1.下载protobuf compiler sudo pacman -S protobuf 2.添加环境变量GOBIN export GOBIN=~/go/bin 3.下载golang依赖的包 go ...

随机推荐

  1. mysql进阶知识

    一.存储引擎 引擎 指的是一个系统的核心部分 引擎有不同分类是为了适应不同的使用场景 查看mysql支持所有引擎 show engines; MRG_MYISAM 是一堆MYISAM表的集合 用于做水 ...

  2. 原生js实例对象方法

    Array中的方法 ☞ toString() // 把数组转换为字符串,使用逗号分隔☞ valueOf() // 返回数组对象本身 ☞ 栈方法(先进后出)ary.push() // 该方法有一个返回值 ...

  3. android中使用afinal一行源码显示网络图片

    下面代码是关于android中使用afinal一行显示网络图片的代码. public class DemoActivity extends FinalActivity { @Override publ ...

  4. c/c++ 继承与多态 文本查询的小例子(非智能指针版本)

    问题:在上一篇继承与多态 文本查询的小例子(智能指针版本)在Query类里使用的是智能指针,只把智能指针换成普通的指针,并不添加拷贝构造方法,会发生什么呢? 执行时,代码崩掉. 分析下面一行代码: Q ...

  5. jquery各大学选择插件

    地址:http://www.jq22.com/jquery-info5565 演示地址:http://www.jq22.com/yanshi5565

  6. php微信h5支付超简单!!!

    本示例应用于tp3.2版本  不懂私聊我QQ:1195989301 请备注来意! 代码链接 请点击下载 密码: ekd4 不喜欢打字望谅解.....

  7. 【spring源码分析】IOC容器初始化(四)

    前言:在[spring源码分析]IOC容器初始化(三)中已经分析了BeanDefinition注册之前的一些准备工作,下面将进入BeanDefinition注册的核心流程. //DefaultBean ...

  8. Git-删除文件后找回-比较文件差异

    #前提:删除前,文件存在是的状态提交到了本地库#操作: git reset --hard 指针位置 删除操作已近提交到本地库:指针指向历史记录 linxianli@VM-QS- MINGW64 /c/ ...

  9. Unity编辑器扩展

    在开发中有可能需要自己开发编辑器工具,在Unity中界面扩展常见两种情况,拿某插件为例: 1,自建窗口扩展 2,脚本Inspector显示扩展 不管使用那种样式,都需要经常用到两个类EditorGUI ...

  10. Charles抓包工具使用

    Charles抓包工具使用和进行接口数据模拟 打开软件,选择Tools  >>  Map Local  >>  勾选enable  >>  add  >> ...