为了能够复制粘贴到外面,需要下载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. SQL—访问操作(2)

    上一篇介绍了数据访问操作的两种方法,接下来把剩下两个操作简单介绍一下: ExecuteNonQuery()的操作:对数据库进行增加.修改.删除 返回类型是 int  代表受影响的行数 返回的结果如果是 ...

  2. ideal中spring的xml文件没有提示的问题

    ideal中spring的xml文件没有提示的问题 今天第一次用ideal来练习spring,发现和视频中老师不一样,我的没有提示.老师的视频里,他写了个<mvc:a   就会有一系列的提示,然 ...

  3. HTTP概念解析

    HTTP--Hyper Text Transfer Protocol HTTP详细介绍(火星的小白 51CTO): https://blog.51cto.com/13570193/2108347 先进 ...

  4. dbutils工具类使用

    1DBUtils工具类 1.1概述 DBUtils是java编程中的数据库操作实用工具,小巧简单实用. DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码 DBUtils三个核心功 ...

  5. MySQL中SELECT语句简单使用

    最近开始复习mysql,查漏补缺吧. 关于mysql 1.MySQL不区分大小写,但是在MySQL 4.1及之前的版本中,数据库名.表名.列名这些标识符默认是区分大小写的:在之后的版本中默认不区分大小 ...

  6. SAP HUM 事务代码HUMO为整托做Scrap

    SAP HUM 事务代码HUMO为整托做Scrap HUMO事务代码查询结果里,选择某个HU, 回车,过账成功, 2019-04-10 写于苏州市.  

  7. 卸载或安装Git出现Invalid drive错误的解决方案【简记】

    前言:工作中由于公司的电脑(SSD+HDD)硬盘(HDD)突然坏了,只剩下一个系统盘(SSD).然后就是有个比较紧急的需求正在做,申请换的新硬盘不能立刻换上,因为工作的机器不在公司,操作远程机器工作, ...

  8. java网络爬虫基础学习(四)

    jsoup的使用 jsoup介绍 jsoup是一款Java的HTML解析器,可直接解析某个URL地址.HTML文本内容.它提供了一套非常省力的API,可通过DOM,css以及类似于Jquery的操作方 ...

  9. 分享两个细致、全面讲解Vue和React源码的链接

    Vue: 1.http://hcysun.me/vue-design/ 2.https://ustbhuangyi.github.io/vue-analysis/(带视频,但收费) React: 3. ...

  10. spring【一】 学习

    Spring 源码学习 通过注解的形式注入IOC 简单的创建一个maven的项目的 下载指定的spring的核心jar包(https://mvnrepository.com/artifact/org. ...