为了能够复制粘贴到外面,需要下载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. VS code 设置中文后也显示英文的问题

    按f1 搜索 Configore Display Language 设置 zh-cn 关闭软件重启. 如果重启菜单等还是英文的,在商店查看已安装的插件,把中文插件重新安装一遍,然后重启软件.

  2. 编程心法 之 Scrum - Agile 敏捷开发

    Scrum是一种敏捷开发的方法 先定一个能达到的小目标 Scrum 团队 包括产品负责人.开发团队和Scrum Master Product Owner 产品负责人:管理代办事项和优先级的唯一负责人. ...

  3. 26 , CSS 构造表单

    1. 表单标签使用 2. 下拉菜单背景 3. 滚动条的使用 4. 结构化表单布局 1 1 1 1. . . . 表单标签的使用 <label for=”name”>姓名: <inpu ...

  4. wordpress主题

    1.创建wordpress主题:在themes文件下建立新主题black文件夹 2.在black文件夹中放入index.php和style.css文件,其中index对style.css文件的引用 & ...

  5. 【设计模式】工厂方法模式 Factory Method Pattern

    在简单工厂模式中产品的创建统一在工厂类的静态工厂方法中创建,体现了面形对象的封装性,客户程序不需要知道产品产生的细节,也体现了面向对象的单一职责原则(SRP),这样在产品很少的情况下使用起来还是很方便 ...

  6. typescript的数据类型

    typescript是JavaScript的扩展,说到js的数据类型,大家肯定会想到它是一种弱类型的语言,不需要指定特定的数据类型,ts的语言也正在往java这些强类型的语言靠近: 看看typescr ...

  7. Android 简单统计文本文件字符数、单词数、行数Demo

    做的demo是统计文本文件的字符数.单词数.行数的,首先呢,我们必须要有一个文本文件.所以我们要么创建一个文本文件,并保存,然后再解析:要么就提前把文本文件先放到模拟器上,然后检索到文本名再进行解析. ...

  8. DVWA 黑客攻防演练(十)反射型 XSS 攻击 Reflected Cross Site Scripting

    XSS (Cross-site scripting) 攻击,为和 CSS 有所区分,所以叫 XSS.又是一种防不胜防的攻击,应该算是一种 "HTML注入攻击",原本开发者想的是显示 ...

  9. SpringMVC归纳-2(Session会话、拦截器)

    要点: 1.HttpSession:一个session的建立是从一个用户向服务器发第一个请求开始,而以用户显式结束或session超时为结束,借助session能在一定时间内记录用户状态. 2.Mod ...

  10. Docker-Linux环境安装

    不同服务器操作系统安装命令不同,例如centOS默认用yum,Ubuntu可能默认用apt-get.这里推荐一种安装方式,通过下载shell脚本 https://get.docker.com,会检测操 ...