工欲上其事必先利其器
最近由于系统搞崩了,很多东西都没有了,编辑器也要重新来配置.
所有的UnixLike系统都会内建vi文书编辑器,其他的文书编辑器则不一定会存在.但是我们使用较多的是vim编辑器,vim具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计.
作为一个Linuxer当然要各种编辑器下配置vim了,以下是我常用的编辑器.
使用vim编辑程序
vim编辑器本身的配置
vim主要的配置文件, 他有两个版本, 一个是全局版本(global)和用户版本(personal).一般情况下不会去动全局版本.
所以配置用户版本就好.配置文件为:/home/用户名/.vimrc
直接使用vim打开配置文件打开.vimrc文件放入以下配置文件.
" =======
" 编辑设置
" =======
" 显示行号
set number
" esc映射到jj
:imap jj <Esc>
" 语法高亮
syntax on
" 颜色方案
" colorscheme desert
colorscheme peachpuff
" colorscheme molokai
" colorscheme ron
" colorscheme default
" colorscheme delek
" 设置匹配模式, 类似当输入一个左括号时会匹配相应的右括号
set showmatch
" 自动缩进
" set autoindent
" 自动补全
inoremap ' ''<Esc>i
inoremap " ""<Esc>i
inoremap ( ()<Esc>i
inoremap [ []<Esc>i
inoremap { {}<Esc>i
inoremap < ><Esc>i
" 编辑模式下快速移动
inoremap <C-l> <Right>
inoremap <C-h> <Left>
inoremap <C-k> <Up>
inoremap <C-j> <Down>
inoremap <C-f> <PageDown>
inoremap <C-f> <PageUp>
" 插入模式下和普通模式下保存快捷键
nnoremap <C-d> :wq!<CR>
inoremap <C-d> <Esc>:wq!<CR>i
" 插入模式下移动快捷键
" 插入模式下移动到行首
inoremap <C-u> <Home>
" 插入模式下移动到行尾
inoremap <C-o> <End>
" 插入模式下代码提示
inoremap <leader>i <C-x><C-l>
inoremap <leader>o <C-x><C-o>
inoremap <leader>o <C-x><C-o>
inoremap <leader>o <C-x><C-o>
" 否则无法使用退格键
set backspace=indent,eol,start
" 显示光标所在行相对与其他行的行号
" set relativenumber
" 是否显示状态栏, 0 不显示, 1 只在多窗口显示, 2显示
set laststatus=2
set statusline=%F%m%r%h%w\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}
" =======
" 搜索设置
" =======
" 搜索时, 高亮显示匹配结果
set hlsearch
" =======
" 编辑设置
" =======
" 保留操作历史
set undofile
" 备份文件,交换文件,操作历史保存位置
" 结尾的//表示生成的文件名带有绝对路径,
" 路径中用%代替目录分割符,防止文件重命名
set backupdir=~/.vim/.backup//
set directory=~/.vim/.swp//
set undodir=~/.vim/.undo//
" gvim e303 无法打开[文件名]的交换文件, 恢复将不可能
" 解决办法: 修改.vimrc, 增加下面一行. 因为默认为directory=.,c:\tmp,c:\temp
set directory=.,$TEMP
" 自动切换目录, 这主要用在一个vim会话之中打开多个文件的情况,
" 默认的工作目录是打开第一个文件的目录
" 该配置可以将工作目录自动切换到, 正在编辑的文件的目录
set autochdir
" 出错的时候不要发出声响
set noerrorbells
" vim需要记住多少次操作
set history=1000
" 打开文件监视器,
" 如果在编辑的过程中发生外部改变(比如被其他编辑器编辑)会发出提示
set autoread
" 命令模式下, 底部指令按下tab键自动补全
" 第一次按下tab 会显示所有匹配的操作指令清单,第二次按下会依次选择各个指令
set wildmenu
set wildmode=longest:list,full
set nocompatible
" ==========
" 个性脚本设置
" ==========
" py文件设置
func SetTitle()
call setline(1, "\#!/usr/bin/python3")
call setline(2, "\# -*- coding=utf8 -*-")
call setline(3, "\"\"\"")
call setline(4, "\# @Author : pig")
call setline(5, "\# @CreatedTime:".strftime("%Y-%m-%d %H:%M:%S"))
call setline(6, "\# @Description : ")
call setline(7, "\"\"\"")
normal G
normal o
normal o
endfunc
autocmd bufnewfile *.py call SetTitle()
" sh文件设置
func Setsh()
call setline(1, "\#!/bin/bash")
" call setline(2, "\# @Author : pig")
" call setline(3, "\# @CreatedTime:".strftime("%Y-%m-%d %H:%M:%S"))
" call setline(4, "\# @Description : ")
normal G
normal o
normal o
endfunc
autocmd bufnewfile *.sh call Setsh()
直接保存就好
vscode的vim插件配置
首先安装vim插件,然后配置setting.json文件
{
"workbench.colorTheme": "Monokai Dimmed"
"vim.handleKeys":{
"<C-d>":true,
"<C-c>": false,
"<C-a>": false
}
"vim.insertModeKeyBindings":[
{
"before":["j","j"],
"after":["<Esc>"]
},
{
"before":["<C-l>"],
"after":["<Right>"]
},
{
"before":["<C-h>"],
"after":["<Left>"]
},
{
"before":["<C-j>"],
"after":["<Down>"]
},
{
"before":["<C-k>"],
"after":["<Up>"]
},
{
"before":["<C-u>"],
"after":["<Home>"]
},
{
"before":["<C-o>"],
"after":["<End>"]
}
]
"window.titleBarStyle": "custom"
"terminal.integrated.rendererType": "dom"
"workbench.iconTheme": "vscode-icons-mac"
}
sublimetext3中vim的配置
首先在Perferences.sublime-setting-User里面找到ignored_packages注释掉里面的内容,即为打开vim.
首选项(Perferences)-->快捷键设置中,放入以下配置文件.
[
{ "keys": ["j", "j"], "command": "exit_insert_mode",
"context":
[
{ "key": "setting.command_mode", "operand": false },
{ "key": "setting.is_widget", "operand": false }
]
},//①jj退出插入模式
{ "keys": ["ctrl+l"], "command": "move", "args": {"by": "characters", "forward": true} },//②ctrl+l来向右移动
{ "keys": ["ctrl+j"], "command": "commit_completion", "context":
[
{ "key": "auto_complete_visible" },
{ "key": "setting.auto_complete_commit_on_tab", "operand": false }
]
},//③ctrl+j来控制删除
]
由于平常用的vim比较多,其他编辑器就是一个简单的配置,其他的配置,等用到的时候再配置.这里先更新到这.持续更新.