14 changed files with 176 additions and 423 deletions
-
17README.md
-
10TODO.md
-
10bin/miaou-bash
-
0etc/bash.bashrc
-
0etc/inputrc
-
6etc/vim/vimrc.azerty
-
40etc/vim/vimrc.core
-
8etc/vim/vimrc.local
-
3etc/vim/vimrc.miaou
-
80etc/vim/vimrc.rookie
-
2init.sh
-
27install.sh
-
8tools/elapsed
-
388vimrc
@ -1,10 +0,0 @@ |
|||
TODO |
|||
==== |
|||
|
|||
* [ ] prompt git shows version with `+` when there is more than one commit over current version. ie: v-1.0.0 + 2 commits more should display v-1.0.0+ |
|||
* [ ] semver_git_tag should append `RELEASE_NOTES.md` from this TODO markdown file, providing that NEW NOTE section below contains appropriate items to fulfill the current release note |
|||
* [ ] git log <LATEST_TAG>..HEAD --oneline |
|||
|
|||
NEW NOTE |
|||
======== |
|||
|
|||
@ -0,0 +1,6 @@ |
|||
" AZERTY quick access to basic keys |
|||
" --------------------------------- |
|||
nnoremap ! . |
|||
nnoremap à 0 |
|||
nnoremap ù % |
|||
|
|||
@ -0,0 +1,40 @@ |
|||
" Smart Defaults |
|||
set showcmd " Show (partial) command in status line. |
|||
set showmatch " Show matching brackets. |
|||
set ignorecase " Do case insensitive matching |
|||
set smartcase " Do smart case matching |
|||
set incsearch " Incremental search |
|||
set autowrite " Automatically save before commands like :next and :make |
|||
set hidden " Hide buffers when they are abandoned |
|||
set shiftwidth=2 |
|||
set tabstop=2 |
|||
set expandtab |
|||
set number |
|||
set relativenumber |
|||
filetype plugin indent on |
|||
|
|||
" Show Status |
|||
set laststatus=2 |
|||
highlight StatusLine ctermfg=DarkGrey |
|||
|
|||
" Wild Menu |
|||
set wildmenu |
|||
set wildmode=list:longest |
|||
set wildignore=*.jpg,*.png,*.gif,*.pdf |
|||
|
|||
" Show Cursor |
|||
set cursorline |
|||
highlight clear CursorLine |
|||
highlight link CursorLine CursorColumn |
|||
highlight CursorLineNR cterm=italic |
|||
|
|||
" Toggle line/relative numbers |
|||
nnoremap <F2> :set number!<CR> |
|||
nnoremap <F3> :set relativenumber!<CR> |
|||
highlight LineNr ctermfg=DarkGrey |
|||
|
|||
" Sudo Write |
|||
command! W silent execute 'write !sudo tee ' . shellescape(@%, 1) . ' >/dev/null' |
|||
|
|||
" Jump to Last Position |
|||
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif |
|||
@ -0,0 +1,8 @@ |
|||
let additionals = [ "core", "miaou", "rookie", "azerty" ] |
|||
for additional in additionals |
|||
let s:vimrc_path = "/etc/vim/vimrc." . additional |
|||
if filereadable(s:vimrc_path) |
|||
execute "source " . expand(s:vimrc_path) |
|||
endif |
|||
endfor |
|||
|
|||
@ -0,0 +1,3 @@ |
|||
" Detect miaou-bash |
|||
autocmd BufReadPost,BufNewFile * if getline(1) =~# '^#!.*miaou-bash' | setlocal filetype=bash | endif |
|||
|
|||
@ -0,0 +1,80 @@ |
|||
" ROOKIE vim user |
|||
" --------------- |
|||
|
|||
" Open File and Go to Line under Cursor |
|||
nnoremap gf gF |
|||
|
|||
" Move Along Words |
|||
inoremap <C-Left> B |
|||
inoremap <C-Right> W |
|||
inoremap <M-Left> b |
|||
inoremap <M-Right> w |
|||
nnoremap <M-Left> b |
|||
nnoremap <M-Right> w |
|||
|
|||
" Move Along Paragraphs |
|||
inoremap <C-Up> { |
|||
inoremap <C-Down> } |
|||
nnoremap <C-Up> { |
|||
nnoremap <C-Down> } |
|||
|
|||
" Delete Words |
|||
inoremap <C-BS> db |
|||
inoremap <M-BS> d0 |
|||
inoremap <C-Del> dw |
|||
inoremap <M-Del> d$ |
|||
nnoremap <C-BS> db |
|||
nnoremap <M-BS> d0 |
|||
nnoremap <C-Del> dw |
|||
nnoremap <M-Del> d$ |
|||
|
|||
" Select |
|||
nnoremap <S-Left> vh |
|||
inoremap <S-Left> <Esc>vh |
|||
nnoremap <S-Right> vl |
|||
inoremap <S-Right> <Esc>vl |
|||
nnoremap <S-Up> vk |
|||
vnoremap <S-Up> k |
|||
inoremap <S-Up> <Esc>vk |
|||
nnoremap <S-Down> vj |
|||
vnoremap <S-Down> j |
|||
inoremap <S-Down> <Esc>vj |
|||
inoremap <S-Home> <Esc>v^ |
|||
inoremap <S-Home> <Esc>v^ |
|||
nnoremap <S-End> v$ |
|||
inoremap <S-End> <Esc>v^ |
|||
|
|||
" Save |
|||
nnoremap <C-s> :w<CR> |
|||
inoremap <C-s> <Esc>:w<CR>a |
|||
vnoremap <C-s> <Esc>:w<CR> |
|||
|
|||
" Quit |
|||
nnoremap <C-q> :qa<CR> |
|||
inoremap <C-q> <Esc>:qa<CR> |
|||
|
|||
" Slower Scroll Page |
|||
nnoremap <PageDown> <C-d><C-d> |
|||
nnoremap <PageUp> <C-u><C-u> |
|||
vnoremap <PageDown> <C-d> |
|||
vnoremap <PageUp> <C-u> |
|||
inoremap <PageDown> <C-o><C-d><C-o><C-d> |
|||
inoremap <PageUp> <C-o><C-u><C-o><C-u> |
|||
|
|||
" Slower Scroll Wheel |
|||
nnoremap <ScrollWheelUp> <C-u> |
|||
nnoremap <ScrollWheelDown> <C-d> |
|||
vnoremap <ScrollWheelUp> k |
|||
vnoremap <ScrollWheelDown> j |
|||
inoremap <ScrollWheelUp> <C-o><C-u> |
|||
inoremap <ScrollWheelDown> <C-o><C-d> |
|||
|
|||
" Move Lines |
|||
nnoremap <A-j> :m .+1<CR>== |
|||
nnoremap <A-k> :m .-2<CR>== |
|||
inoremap <A-j> <Esc>:m .+1<CR>==gi |
|||
inoremap <A-k> <Esc>:m .-2<CR>==gi |
|||
vnoremap <A-j> :m '>+1<CR>gv=gv |
|||
vnoremap <A-k> :m '<-2<CR>gv=gv |
|||
|
|||
|
|||
@ -1,8 +0,0 @@ |
|||
#!/bin/bash |
|||
|
|||
START=$(date +%s.%N) |
|||
eval -- "$*" |
|||
END=$(date +%s.%N) |
|||
DIFF=$(echo "scale=6; (${END} - ${START}) / 1" | bc) |
|||
|
|||
printf -- "-----------------\nelapsed seconds = %f\n" "${DIFF}" >&2 |
|||
@ -1,388 +0,0 @@ |
|||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|||
" Maintainer: |
|||
" Amir Salihefendic — @amix3k |
|||
" |
|||
" Awesome_version: |
|||
" Get this config, nice color schemes and lots of plugins! |
|||
" |
|||
" Install the awesome version from: |
|||
" |
|||
" https://github.com/amix/vimrc |
|||
" |
|||
" Sections: |
|||
" -> General |
|||
" -> VIM user interface |
|||
" -> Colors and Fonts |
|||
" -> Files and backups |
|||
" -> Text, tab and indent related |
|||
" -> Visual mode related |
|||
" -> Moving around, tabs and buffers |
|||
" -> Status line |
|||
" -> Editing mappings |
|||
" -> vimgrep searching and cope displaying |
|||
" -> Spell checking |
|||
" -> Misc |
|||
" -> Helper functions |
|||
" |
|||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|||
|
|||
|
|||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|||
" => General |
|||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|||
" Sets how many lines of history VIM has to remember |
|||
set history=500 |
|||
set nocompatible |
|||
|
|||
" Enable filetype plugins |
|||
filetype plugin on |
|||
filetype indent on |
|||
|
|||
" Set to auto read when a file is changed from the outside |
|||
set autoread |
|||
|
|||
" With a map leader it's possible to do extra key combinations |
|||
" like <leader>w saves the current file |
|||
let mapleader = "," |
|||
|
|||
" Fast saving |
|||
nmap <leader>w :w!<cr> |
|||
|
|||
" :W sudo saves the file |
|||
" (useful for handling the permission-denied error) |
|||
command W w !sudo tee % > /dev/null |
|||
|
|||
|
|||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|||
" => VIM user interface |
|||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|||
" Set 7 lines to the cursor - when moving vertically using j/k |
|||
set so=7 |
|||
|
|||
" Avoid garbled characters in Chinese language windows OS |
|||
let $LANG='en' |
|||
set langmenu=en |
|||
source $VIMRUNTIME/delmenu.vim |
|||
source $VIMRUNTIME/menu.vim |
|||
|
|||
" Turn on the Wild menu |
|||
set wildmenu |
|||
|
|||
" Ignore compiled files |
|||
set wildignore=*.o,*~,*.pyc |
|||
if has("win16") || has("win32") |
|||
set wildignore+=.git\*,.hg\*,.svn\* |
|||
else |
|||
set wildignore+=*/.git/*,*/.hg/*,*/.svn/*,*/.DS_Store |
|||
endif |
|||
|
|||
"Always show current position |
|||
set ruler |
|||
|
|||
" Height of the command bar |
|||
set cmdheight=2 |
|||
|
|||
" A buffer becomes hidden when it is abandoned |
|||
set hid |
|||
|
|||
" Configure backspace so it acts as it should act |
|||
" set,indent |
|||
"set backspace=i |
|||
set backspace=indent,eol,start |
|||
fixdel |
|||
|
|||
set whichwrap+=<,>,h,l |
|||
|
|||
" Ignore case when searching |
|||
set ignorecase |
|||
|
|||
" When searching try to be smart about cases |
|||
set smartcase |
|||
|
|||
" Highlight search results |
|||
set hlsearch |
|||
|
|||
" Makes search act like search in modern browsers |
|||
set incsearch |
|||
|
|||
" Don't redraw while executing macros (good performance config) |
|||
set lazyredraw |
|||
|
|||
" For regular expressions turn magic on |
|||
set magic |
|||
|
|||
" Show matching brackets when text indicator is over them |
|||
set showmatch |
|||
" How many tenths of a second to blink when matching brackets |
|||
set mat=2 |
|||
|
|||
" No annoying sound on errors |
|||
set noerrorbells |
|||
set novisualbell |
|||
set t_vb= |
|||
set tm=500 |
|||
|
|||
" Properly disable sound on errors on MacVim |
|||
if has("gui_macvim") |
|||
autocmd GUIEnter * set vb t_vb= |
|||
endif |
|||
|
|||
|
|||
" Add a bit extra margin to the left |
|||
set foldcolumn=1 |
|||
|
|||
|
|||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|||
" => Colors and Fonts |
|||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|||
" Enable syntax highlighting |
|||
syntax enable |
|||
|
|||
" Enable 256 colors palette in Gnome Terminal |
|||
if $COLORTERM == 'gnome-terminal' |
|||
set t_Co=256 |
|||
endif |
|||
|
|||
try |
|||
colorscheme desert |
|||
catch |
|||
endtry |
|||
|
|||
set background=dark |
|||
|
|||
" Set extra options when running in GUI mode |
|||
if has("gui_running") |
|||
set guioptions-=T |
|||
set guioptions-=e |
|||
set t_Co=256 |
|||
set guitablabel=%M\ %t |
|||
endif |
|||
|
|||
" Set utf8 as standard encoding and en_US as the standard language |
|||
set encoding=utf8 |
|||
|
|||
" Use Unix as the standard file type |
|||
set ffs=unix,dos,mac |
|||
|
|||
|
|||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|||
" => Files, backups and undo |
|||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|||
" Turn backup off, since most stuff is in SVN, git et.c anyway... |
|||
set nobackup |
|||
set nowb |
|||
set noswapfile |
|||
|
|||
|
|||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|||
" => Text, tab and indent related |
|||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|||
" Use spaces instead of tabs |
|||
set expandtab |
|||
|
|||
" Be smart when using tabs ;) |
|||
set smarttab |
|||
|
|||
" 1 tab == 4 spaces |
|||
set shiftwidth=4 |
|||
set tabstop=4 |
|||
|
|||
" Linebreak on 500 characters |
|||
set lbr |
|||
set tw=500 |
|||
|
|||
set ai "Auto indent |
|||
set si "Smart indent |
|||
set wrap "Wrap lines |
|||
set paste |
|||
|
|||
|
|||
"""""""""""""""""""""""""""""" |
|||
" => Visual mode related |
|||
"""""""""""""""""""""""""""""" |
|||
" Visual mode pressing * or # searches for the current selection |
|||
" Super useful! From an idea by Michael Naumann |
|||
vnoremap <silent> * :<C-u>call VisualSelection('', '')<CR>/<C-R>=@/<CR><CR> |
|||
vnoremap <silent> # :<C-u>call VisualSelection('', '')<CR>?<C-R>=@/<CR><CR> |
|||
|
|||
|
|||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|||
" => Moving around, tabs, windows and buffers |
|||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|||
" Map <Space> to / (search) and Ctrl-<Space> to ? (backwards search) |
|||
map <space> / |
|||
map <c-space> ? |
|||
|
|||
" Disable highlight when <leader><cr> is pressed |
|||
map <silent> <leader><cr> :noh<cr> |
|||
|
|||
" Smart way to move between windows |
|||
map <C-j> <C-W>j |
|||
map <C-k> <C-W>k |
|||
map <C-h> <C-W>h |
|||
map <C-l> <C-W>l |
|||
|
|||
" Close the current buffer |
|||
map <leader>bd :Bclose<cr>:tabclose<cr>gT |
|||
|
|||
" Close all the buffers |
|||
map <leader>ba :bufdo bd<cr> |
|||
|
|||
map <leader>l :bnext<cr> |
|||
map <leader>h :bprevious<cr> |
|||
|
|||
" Useful mappings for managing tabs |
|||
map <leader>tn :tabnew<cr> |
|||
map <leader>to :tabonly<cr> |
|||
map <leader>tc :tabclose<cr> |
|||
map <leader>tm :tabmove |
|||
map <leader>t<leader> :tabnext |
|||
|
|||
" Let 'tl' toggle between this and the last accessed tab |
|||
let g:lasttab = 1 |
|||
nmap <Leader>tl :exe "tabn ".g:lasttab<CR> |
|||
au TabLeave * let g:lasttab = tabpagenr() |
|||
|
|||
|
|||
" Opens a new tab with the current buffer's path |
|||
" Super useful when editing files in the same directory |
|||
map <leader>te :tabedit <c-r>=expand("%:p:h")<cr>/ |
|||
|
|||
" Switch CWD to the directory of the open buffer |
|||
map <leader>cd :cd %:p:h<cr>:pwd<cr> |
|||
|
|||
" Specify the behavior when switching between buffers |
|||
try |
|||
set switchbuf=useopen,usetab,newtab |
|||
set stal=2 |
|||
catch |
|||
endtry |
|||
|
|||
" Return to last edit position when opening files (You want this!) |
|||
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif |
|||
|
|||
|
|||
"""""""""""""""""""""""""""""" |
|||
" => Status line |
|||
"""""""""""""""""""""""""""""" |
|||
" Always show the status line |
|||
set laststatus=2 |
|||
|
|||
" Format the status line |
|||
set statusline=\ %{HasPaste()}%F%m%r%h\ %w\ \ CWD:\ %r%{getcwd()}%h\ \ \ Line:\ %l\ \ Column:\ %c |
|||
|
|||
|
|||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|||
" => Editing mappings |
|||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|||
" Remap VIM 0 to first non-blank character |
|||
map 0 ^ |
|||
|
|||
" Move a line of text using ALT+[jk] or Command+[jk] on mac |
|||
nmap <M-j> mz:m+<cr>`z |
|||
nmap <M-k> mz:m-2<cr>`z |
|||
vmap <M-j> :m'>+<cr>`<my`>mzgv`yo`z |
|||
vmap <M-k> :m'<-2<cr>`>my`<mzgv`yo`z |
|||
|
|||
if has("mac") || has("macunix") |
|||
nmap <D-j> <M-j> |
|||
nmap <D-k> <M-k> |
|||
vmap <D-j> <M-j> |
|||
vmap <D-k> <M-k> |
|||
endif |
|||
|
|||
" Delete trailing white space on save, useful for some filetypes ;) |
|||
fun! CleanExtraSpaces() |
|||
let save_cursor = getpos(".") |
|||
let old_query = getreg('/') |
|||
silent! %s/\s\+$//e |
|||
call setpos('.', save_cursor) |
|||
call setreg('/', old_query) |
|||
endfun |
|||
|
|||
if has("autocmd") |
|||
autocmd BufWritePre *.txt,*.js,*.py,*.wiki,*.sh,*.coffee :call CleanExtraSpaces() |
|||
endif |
|||
|
|||
|
|||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|||
" => Spell checking |
|||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|||
" Pressing ,ss will toggle and untoggle spell checking |
|||
map <leader>ss :setlocal spell!<cr> |
|||
|
|||
" Shortcuts using <leader> |
|||
map <leader>sn ]s |
|||
map <leader>sp [s |
|||
map <leader>sa zg |
|||
map <leader>s? z= |
|||
|
|||
|
|||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|||
" => Misc |
|||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|||
" Remove the Windows ^M - when the encodings gets messed up |
|||
noremap <Leader>m mmHmt:%s/<C-V><cr>//ge<cr>'tzt'm |
|||
|
|||
" Quickly open a buffer for scribble |
|||
map <leader>q :e ~/buffer<cr> |
|||
|
|||
" Quickly open a markdown buffer for scribble |
|||
map <leader>x :e ~/buffer.md<cr> |
|||
|
|||
" Toggle paste mode on and off |
|||
map <leader>pp :setlocal paste!<cr> |
|||
|
|||
|
|||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|||
" => Helper functions |
|||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|||
" Returns true if paste mode is enabled |
|||
function! HasPaste() |
|||
if &paste |
|||
return 'PASTE MODE ' |
|||
endif |
|||
return '' |
|||
endfunction |
|||
|
|||
" Don't close window, when deleting a buffer |
|||
command! Bclose call <SID>BufcloseCloseIt() |
|||
function! <SID>BufcloseCloseIt() |
|||
let l:currentBufNum = bufnr("%") |
|||
let l:alternateBufNum = bufnr("#") |
|||
|
|||
if buflisted(l:alternateBufNum) |
|||
buffer # |
|||
else |
|||
bnext |
|||
endif |
|||
|
|||
if bufnr("%") == l:currentBufNum |
|||
new |
|||
endif |
|||
|
|||
if buflisted(l:currentBufNum) |
|||
execute("bdelete! ".l:currentBufNum) |
|||
endif |
|||
endfunction |
|||
|
|||
function! CmdLine(str) |
|||
call feedkeys(":" . a:str) |
|||
endfunction |
|||
|
|||
function! VisualSelection(direction, extra_filter) range |
|||
let l:saved_reg = @" |
|||
execute "normal! vgvy" |
|||
|
|||
let l:pattern = escape(@", "\\/.*'$^~[]") |
|||
let l:pattern = substitute(l:pattern, "\n$", "", "") |
|||
|
|||
if a:direction == 'gv' |
|||
call CmdLine("Ack '" . l:pattern . "' " ) |
|||
elseif a:direction == 'replace' |
|||
call CmdLine("%s" . '/'. l:pattern . '/') |
|||
endif |
|||
|
|||
let @/ = l:pattern |
|||
let @" = l:saved_reg |
|||
endfunction |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue