1 系统:
肯定是linux没跑
2 桌面环境
推荐awesome
适合多屏,尤其是后端需要在不同的命令行之间来回切换,各种快捷键一键到达
3 shell环境
推荐terminnal
此处贴上的我的terminal配置
[global_config]
handle_size = -3
enabled_plugins = CustomCommandsMenu, LaunchpadCodeURLHandler, APTURLHandler, LaunchpadBugURLHandler
title_transmit_fg_color = "#000000"
suppress_multiple_term_dialog = True
title_transmit_bg_color = "#000000"
inactive_color_offset = 1.0
[keybindings]
[profiles]
[[default]]
palette = "#000000:#5a8e1c:#2d5f5f:#cdcd00:#1e90ff:#cd00cd:#00cdcd:#e5e5e5:#4c4c4c:#868e09:#00ff00:#ffff00:#4682b4:#ff00ff:#00ffff:#ffffff"
background_image = ""
background_darkness = 0.82
scrollback_lines = 3000
background_type = transparent
use_system_font = False
scroll_background = False
show_titlebar = False
cursor_shape = ibeam
font = Liberation Mono 12
background_color = "#0e2424"
foreground_color = "#e8e8e8"
[layouts]
[[default]]
[[[child1]]]
type = Terminal
parent = window0
profile = default
[[[window0]]]
type = Window
parent = ""
size = 925, 570
[plugins]
4 编辑器vim
关于vim的配置网上多的是,多用用别人的推荐,然后根据自己的习惯行程中自己的一套命令快捷键
照例贴上自己的vim配置
" Auto File: _vimrc
" Date: 2017-01-01
" Author: xy
" NOTE: 配置一份简单的vim配置文件
set nocompatible "非兼容模式
syntax on "开启语法高亮
set background=dark "背景色
color desert
set ruler "在左下角显示当前文件所在行
set showcmd "在状态栏显示命令
set showmatch "显示匹配的括号
set ignorecase "大小写无关匹配
set smartcase "只能匹配,即小写全匹配,大小写混合则严格匹配
set hlsearch "搜索时高亮显示
set incsearch "增量搜索
set nohls "搜索时随着输入立即定位,不知什么原因会关闭结果高亮
set report=0 "显示修改次数
set mouse=a "控制台启用鼠标
set number "行号
set nobackup "无备份
set cursorline "高亮当前行背景
set fileencodings=ucs-bom,UTF-8,GBK,BIG5,latin1
set fileencoding=UTF-8
set fileformat=unix "换行使用unix方式
set ambiwidth=double
set noerrorbells "不显示响铃
set visualbell "可视化铃声
set foldmarker={,} "缩进符号
set foldmethod=indent "缩进作为折叠标识
set foldlevel=100 "不自动折叠
set foldopen-=search "搜索时不打开折叠
set foldopen-=undo "撤销时不打开折叠
set updatecount=0 "不使用交换文件
set magic "使用正则时,除了$ . * ^以外的元字符都要加反斜线
set autoread
"缩进定义
set shiftwidth=4
set tabstop=4
set softtabstop=4
set expandtab
set smarttab
set backspace=2 "退格键可以删除任何东西
"显示TAB字符为<+++
set list
set list listchars=tab:<+
"映射常用操作
map [r :! python %
map [o :! python -i %
map [t :! rst2html.py % %<.html
map [s :! dot -Tsvg % -o%<.svg
map [v :! neato -Tpng -Gmaxiter=1000 -Goverlap=false -Esplines=true -Gsep=0.1 -Nfontname=Monaco -Efontname=Monaco % -o%<.png
imap
map
vmap
cmap
nmap
if has("gui_running")
set lines=25
set columns=80
set lazyredraw "延迟重绘
set guioptions-=m "不显示菜单
set guioptions-=T "不显示工具栏
set guifont=Droid\ Sans\ Mono\ 9
endif
if has("autocmd")
"回到上次文件打开所在行
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
\| exe "normal g'\"" | endif
"自动检测文件类型,并载入相关的规则文件
filetype plugin on
filetype indent on
"智能缩进,使用4空格,使用全局的了
"autocmd FileType python setlocal et | setlocal sta | setlocal sw=4
"autocmd FileType c setlocal et | setlocal sta | setlocal sw=4
"autocmd FileType h setlocal et | setlocal sta | setlocal sw=4
endif
"Arduino ino 文件
au BufNewFile,BufRead *.ino set filetype=c
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')
" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'
" The following are examples of different formats supported.
" Keep Plugin commands between vundle#begin/end.
" plugin on GitHub repo
" Plugin 'tpope/vim-fugitive'
Plugin 'Valloric/YouCompleteMe'
Plugin 'saltstack/salt-vim'
Plugin 'scrooloose/nerdtree'
Plugin 'nvie/vim-flake8'
" plugin from http://vim-scripts.org/vim/scripts.html
Plugin 'L9'
Plugin 'kien/ctrlp.vim'
Bundle 'bronson/vim-trailing-whitespace'
" Git plugin not hosted on GitHub
" Plugin 'git://git.wincent.com/command-t.git'
" git repos on your local machine (i.e. when working on your own plugin)
" Plugin 'file:///home/gmarik/path/to/plugin'
" The sparkup vim script is in a subdirectory of this repo called vim.
" Pass the path to set the runtimepath properly.
" Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
" Avoid a name conflict with L9
" Plugin 'user/L9', {'name': 'newL9'}
" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList - lists configured plugins
" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line
" 自动备份
let autosave=60
" 插入匹配括号
inoremap ( ()
inoremap [ []
inoremap { {}
inoremap ' ''
inoremap " ""
"split navigations
nnoremap
nnoremap
nnoremap
nnoremap
"显示竖线"
se cuc
"不闪屏"
set novb
"自动去除空格"
map :FixWhitespace
ps:另外墙裂推荐一本vim的书籍《vim实用技巧》,本来以为自己的vim已经够6的了,没想到看了此书的基础篇,觉得自己完全是菜鸟级别的
5桌面管理器
果断awesome,
多个屏幕,多个虚拟桌面,试试就知道了
6系统级键盘映射
作为一个vim党,墙裂推荐把caps_lock和esc在系统级层面做一个调换
方法很简单,新建~/.Xmodmap文件
插入如下代码:
remove Lock = Caps_Lock
keysym Escape = Caps_Lock
keysym Caps_Lock = Escape
add Lock = Caps_Lock
7自定义快捷键
super+回车 为打开terminal
ps1:
以上都是硬件相关,关于工作习惯,我的习惯是有一个思考专用的本子,一个todo-list的小便利贴,便利贴上每个事项排个优先级
ps2
常用的任务写成shell脚本,定时脚本
ps3
以上设置的结果是你再也用不来别人电脑,别人更用不了你的电脑