1
0
mirror of https://github.com/chylex/dotfiles.git synced 2025-09-15 12:32:09 +02:00

Compare commits

..

62 Commits

Author SHA1 Message Date
d76b82721d Update .vimrc (disable bell sound) 2025-09-10 14:04:01 +02:00
580a47aa9b Update .ideavimrc (work around broken shortcuts in Rider) 2025-08-18 23:38:28 +02:00
946f464aca Update .vimrc (use Ctrl-S to save) 2025-08-17 10:01:24 +02:00
1e5c7a752e Update .vimrc (fix pasting via Ctrl-V in insert mode) 2025-08-17 09:51:13 +02:00
c1fac762be Update .ideavimrc (add bindings to move statement/element) 2025-08-15 18:45:41 +02:00
8cd0b37833 Update .ideavimrc (add bindings to extend/shrink selection) 2025-08-15 02:34:16 +02:00
5cbaf5587d Update .vimrc & .ideavimrc (indent current line with just '<' or '>') 2025-08-06 23:47:48 +02:00
7b5bbf7bb7 Update .vimrc & .ideavimrc (fix 'ů' mapping with matchit) 2025-07-28 02:01:32 +02:00
6d1840a48c Update .vimrc (always show leading and trailing spaces) 2025-07-22 13:34:25 +02:00
4a77b0588b Update .vimrc & .ideavimrc (move some commands closer on Czech keyboard layout) 2025-07-20 12:41:39 +02:00
a9bfe13277 Update .vimrc (fix Ctrl-A in visual mode) 2025-07-20 09:14:12 +02:00
be2bdafe78 Update .vimrc (selection & clipboard) 2025-07-08 16:25:26 +02:00
cda970bfc2 Update .vimrc (GUI configuration & consistency) 2025-07-08 16:25:26 +02:00
80e5b074c9 Update .ideavimrc (disable binding to negate code completion in Rider) 2025-06-17 07:37:53 +02:00
60cb335c9a Update .ideavimrc (add binding to negate code completion) 2025-06-11 19:27:53 +02:00
78866848be Update .vimrc & .ideavimrc (change bindings to create new lines) 2025-06-11 04:06:11 +02:00
f69bb44bfa Update .ideavimrc (remove custom increment/decrement binding) 2025-05-28 21:34:14 +02:00
6c4c99a98d Update .vimrc & .ideavimrc (use 'g' for navigating unmatched parentheses/brackets) 2025-05-28 21:32:04 +02:00
0023b10571 Update .ideavimrc (use Alt-J/K to navigate code completion popups) 2025-05-18 21:26:28 +02:00
4fa0da63e8 Update .vimrc & .ideavimrc (split line) 2025-05-16 16:59:12 +02:00
eb54e7d636 Update .vimrc & .ideavimrc (bind gj/gk to j/k) 2025-05-16 16:59:12 +02:00
2a8dbc57ec Update .ideavimrc (set handler for arrow shortcuts) 2025-04-25 12:58:11 +02:00
713fb10dab Update .ideavimrc (simplify navigating between methods) 2025-04-02 13:21:33 +02:00
ca8bc186b2 Update .bashrc (handle ANSI color codes in less/zless) 2025-02-20 07:03:05 +01:00
534ea4a4f1 Update Firefox userChrome.css 2024-11-22 08:04:46 +01:00
2aebc2deeb Update .vimrc and .ideavimrc (add bindings to create lines in normal mode) 2024-10-18 00:06:27 +02:00
c83891317f Update .ideavimrc (make more actions usable in visual mode) 2024-10-12 08:50:38 +02:00
5ce16f984f Update .ideavimrc (allow jumping to source even in visual mode) 2024-09-19 06:34:36 +02:00
83d12be425 Update .ideavimrc (enable search highlights) 2024-09-08 18:21:13 +02:00
c0c7eccc1d Update .ideavimrc (fix camel hump navigation) 2024-08-24 15:03:48 +02:00
abc7112e75 Update .ideavimrc (fix camel hump navigation) 2024-08-14 11:56:04 +02:00
21e38d0d08 Update .ideavimrc (disable ideaput) 2024-08-11 10:58:53 +02:00
a43aae61e8 Update .vimrc (fix searching special characters with n/N & make search independent of case sensitivity setting) 2024-07-14 14:57:13 +02:00
c9c9c0223e Update .vimrc (improve t/T behavior with n/N) 2024-07-08 04:56:54 +02:00
a3c4fe7259 Update .vimrc and .ideavimrc (fix inconsistency in capitalization) 2024-07-07 07:14:48 +02:00
67c485da65 Update .ideavimrc (add mapping for Compare with Clipboard) 2024-07-07 04:07:01 +02:00
62edd5222d Update .ideavimrc (remove bindings to Extend/Shrink selection) 2024-07-06 18:05:57 +02:00
1aa9bde933 Update .vimrc (update search register when using f/t) 2024-07-06 17:56:44 +02:00
0bcdaaa077 Update .vimrc (clear search highlights with Escape) 2024-07-06 16:01:44 +02:00
9fa73b1ba8 Update .ideavimrc (disable NERDTree) 2024-05-07 02:09:05 +02:00
e7dca24993 Update .ideavimrc (add call hierarchy support for Rider) 2024-03-30 13:35:57 +01:00
ac9b1d4248 Update .ideavimrc (use ShowHoverInfo instead of QuickJavaDoc) 2024-02-18 20:05:25 +01:00
41840c7b33 Update .ideavimrc (map +/- in visual mode to Extend/Shrink selection) 2024-02-18 18:46:48 +01:00
939134dc49 Update .ideavimrc (remap NERDTree bindings) 2024-02-15 07:55:27 +01:00
1bc97f78b6 Update .tmux.conf (add Ctrl-V / Alt-V to toggle block selection) 2024-01-25 15:08:20 +01:00
6681099e47 Update .ideavimrc (remove custom G bindings) 2024-01-24 02:15:23 +01:00
0903e926bb Update .vimrc & .ideavimrc (swap ů/§ and add matchit mapping) 2024-01-24 02:05:38 +01:00
14aa43ede4 Update .vimrc (fix Alt bindings and bring over several Alt mappings from .ideavimrc) 2023-12-05 05:01:08 +01:00
cab52d34b1 Update .ideavimrc (use Alt-V to enter visual block mode) 2023-12-05 04:57:08 +01:00
4203b6e583 Update .ideavimrc (fix comment breaking "gf" mapping) 2023-11-21 09:41:44 +01:00
af2f87c518 Update .vimrc (enable modeline) 2023-11-20 05:13:51 +01:00
daea01656e Update .ideavimrc (update mappings for type navigation & add mapping for String Manipulation) 2023-11-18 12:22:43 +01:00
35ba420d83 Update .bashrc (open multiple files in tabs in vim) 2023-11-18 07:13:22 +01:00
f66f0990ff Update .ideavimrc (remove bindings for navigating tabs) 2023-11-18 07:13:22 +01:00
96e832c9cc Update .ideavimrc (tweak mappings for tab management) 2023-11-18 07:13:22 +01:00
7ca80f443f Update .ideavimrc (add AceJump binding to jump to declaration) 2023-11-17 13:08:39 +01:00
19d10e7428 Update .ideavimrc (migrate from :raction to <Action>) 2023-11-17 13:08:19 +01:00
e0b0194256 Update .ideavimrc (use Ctrl instead of Alt for navigating editor tabs) 2023-11-17 07:18:29 +01:00
b739008bc5 Update .ideavimrc (fix action to "Jump to Source" using a custom IdeaVIM version) 2023-11-15 01:23:23 +01:00
3c66f4c85b Update .ideavimrc (update tab management) 2023-11-14 22:56:25 +01:00
bd5fb52aa7 Update .ideavimrc (add missing handler) 2023-11-14 21:21:42 +01:00
8a7a591d68 Update .ideavimrc (restore square bracket commands & re-add bindings for next/previous method using IDEA action) 2023-11-14 13:50:51 +01:00
5 changed files with 345 additions and 168 deletions

View File

@@ -5,8 +5,10 @@ bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward' bind '"\e[B": history-search-forward'
alias gh='history|grep' alias gh='history|grep'
alias less='less --mouse' alias less='less -R --mouse'
alias zless='zless -R --mouse'
alias lsa='ls -l -v --all --human-readable --group-directories-first --color=auto' alias lsa='ls -l -v --all --human-readable --group-directories-first --color=auto'
alias vim='vim -p'
alias d='docker' alias d='docker'
alias dc='docker compose' alias dc='docker compose'

View File

@@ -1,3 +1,5 @@
set clipboard-=ideaput
set hlsearch
set ignorecase set ignorecase
set incsearch set incsearch
set number set number
@@ -29,6 +31,7 @@ sethandler <C-C> a:ide
sethandler <C-E> a:ide sethandler <C-E> a:ide
sethandler <C-F> a:ide sethandler <C-F> a:ide
sethandler <C-G> a:ide sethandler <C-G> a:ide
sethandler <C-H> a:ide
sethandler <C-I> a:ide sethandler <C-I> a:ide
sethandler <C-J> a:ide sethandler <C-J> a:ide
sethandler <C-K> a:ide sethandler <C-K> a:ide
@@ -38,28 +41,49 @@ sethandler <C-R> a:ide
sethandler <C-S> a:ide sethandler <C-S> a:ide
sethandler <C-T> a:ide sethandler <C-T> a:ide
sethandler <C-V> a:ide sethandler <C-V> a:ide
sethandler <C-W> a:ide
sethandler <C-X> a:ide sethandler <C-X> a:ide
sethandler <C-Y> a:ide sethandler <C-Y> a:ide
sethandler <C-\> a:ide sethandler <C-\> a:ide
sethandler <A-B> a:vim sethandler <A-B> a:vim
sethandler <A-H> a:vim sethandler <A-H> a:vim
sethandler <A-J> a:vim
sethandler <A-K> a:vim
sethandler <A-L> a:vim sethandler <A-L> a:vim
sethandler <A-N> a:vim
sethandler <A-O> a:vim
sethandler <A-P> a:vim sethandler <A-P> a:vim
sethandler <A-S-B> a:vim sethandler <A-S-B> a:vim
sethandler <A-S-H> a:vim
sethandler <A-S-J> a:vim
sethandler <A-S-K> a:vim
sethandler <A-S-L> a:vim
sethandler <A-S-O> a:vim
sethandler <A-V> a:vim
sethandler <A-X> a:vim sethandler <A-X> a:vim
sethandler <C-D> a:vim sethandler <C-D> a:vim
sethandler <C-I> a:vim sethandler <C-I> a:vim
sethandler <C-N> a:vim sethandler <C-N> a:vim
sethandler <C-O> a:vim sethandler <C-O> a:vim
sethandler <C-P> a:vim sethandler <C-P> a:vim
sethandler <C-U> a:vim
sethandler <C-W> a:vim
sethandler <C-S-W> a:vim sethandler <C-S-W> a:vim
sethandler <C-U> a:vim
sethandler <S-BS> a:vim
sethandler <C-Left> a:vim
sethandler <C-Right> a:vim
sethandler <S-Left> a:vim
sethandler <S-Right> a:vim
if &ide =~? 'rider'
" These shortcuts are broken in Rider for some reason...
sethandler <A-S-H> a:ide
sethandler <A-S-L> a:ide
endif
" Enable plugins (https://github.com/JetBrains/ideavim/wiki/IdeaVim-Plugins) " Enable plugins (https://github.com/JetBrains/ideavim/wiki/IdeaVim-Plugins)
Plug 'argtextobj.vim' Plug 'argtextobj.vim'
Plug 'nerdtree'
Plug 'vim-exchange' Plug 'vim-exchange'
Plug 'vim-highlightedyank' Plug 'vim-highlightedyank'
Plug 'vim-indent-object' Plug 'vim-indent-object'
@@ -84,60 +108,66 @@ map í 9
map é 0 map é 0
" Move some commands closer on Czech keyboard layout " Move some commands closer on Czech keyboard layout
map ů %
nnoremap ú @@ nnoremap ú @@
noremap ů ; noremap , +
map § %
" Camel humps noremap § `
noremap §§ ``
nnoremap m§ m
sunmap ů
sunmap §
" Enter visual block mode
map <A-v> <C-v>
" Navigate camel humps
noremap L [w noremap L [w
noremap H [b noremap H [b
xnoremap L ]w nnoremap L [w
xnoremap H ]b nnoremap H [b
" Navigate to end of previous word " Navigate to end of previous word
noremap <A-b> ge noremap <A-b> ge
noremap <A-S-b> gE noremap <A-S-b> gE
" Navigate paragraphs at indentation level " Navigate unmatched parentheses/braces
map { <Plug>(ParagraphPrevMotion)$ noremap g( [(
map } <Plug>(ParagraphNextMotion)$ noremap g) ])
noremap g{ [{
" Navigate inspection highlights noremap g} ]}
nmap ( :raction GotoPreviousError<CR>
nmap ) :raction GotoNextError<CR>
" Navigate editor tabs
noremap <A-h> gT
noremap <A-l> gt
inoremap <A-h> <C-o>gT
inoremap <A-l> <C-o>gt
" Increment/decrement numbers
noremap <Bar>+ <C-a>
noremap <Bar>- <C-x>
" Edit from cursor to start/end of parenthesized block " Edit from cursor to start/end of parenthesized block
nnoremap c) c]) nnoremap c) c])
nnoremap d) d]) nnoremap d) d])
nnoremap c( c[(( nnoremap c( c[((
nnoremap d( c[((<ESC>l nnoremap d( c[((<Esc>l
" Delete lines " Create lines
nnoremap go o<Esc>$
nnoremap gO O<Esc>$
nnoremap g<CR> i<CR><Esc>l
" Edit current line
nnoremap C cc nnoremap C cc
xnoremap C cc xnoremap C cc
nnoremap D dd nnoremap D dd
xnoremap D dd xnoremap D dd
nnoremap < <<
" Enter visual block mode nnoremap > >>
xnoremap v <C-V>
" Indent keeping selection " Indent keeping selection
xnoremap < <gv xnoremap < <gv
xnoremap > >gv xnoremap > >gv
xnoremap = =gv xnoremap = =gv
" Extend selection
xmap x <Action>(EditorSelectWord)
xmap X <Action>(EditorUnSelectWord)
" Turn capital letters into opposite actions " Turn capital letters into opposite actions
" nnoremap U :redo<CR> " Handled by custom version of IdeaVim " nnoremap U :redo<CR> " Handled by custom version of IdeaVIM
" Reselect pasted text " Reselect pasted text
nnoremap gp `[v`] nnoremap gp `[v`]
@@ -146,147 +176,151 @@ nnoremap gp `[v`]
xnoremap p P xnoremap p P
xnoremap P p xnoremap P p
" Clear search highlights
nnoremap <Esc> :nohlsearch<Return><Esc>
" Code completion
if &ide !~? 'rider'
imap <expr> ! pumvisible() ? '<Action>(EditorChooseLookupItem)<Esc>mzF.bi!<Esc>`zla' : '!'
endif
" Show parameter info " Show parameter info
nmap <A-p> <Action>(ParameterInfo) nmap <A-p> <Action>(ParameterInfo)
imap <A-p> <Action>(ParameterInfo) imap <A-p> <Action>(ParameterInfo)
" Navigate back/forward " Navigate back/forward
nmap <BS> <Action>(Back) map <BS> <Action>(Back)
nmap <S-BS> <Action>(Forward) map <S-BS> <Action>(Forward)
" Navigate inspection highlights
map ( <Action>(GotoPreviousError)
map ) <Action>(GotoNextError)
" Navigate to previous/next method " Navigate to previous/next method
nnoremap [ [m map [ <Action>(MethodUp)
xnoremap [ [m map ] <Action>(MethodDown)
nnoremap ] ]m
xnoremap ] ]m
" Alternative bindings for square bracket commands " Navigate paragraphs at indentation
nnoremap g[ [ map { <Plug>(ParagraphPrevMotion)$
xnoremap g[ [ map } <Plug>(ParagraphNextMotion)$
nnoremap g] ]
xnoremap g] ] " Move statement/element
map <A-S-h> <Action>(MoveElementLeft)
map <A-S-l> <Action>(MoveElementRight)
map <A-S-j> <Action>(MoveStatementDown)
map <A-S-k> <Action>(MoveStatementUp)
" Multiple carets
map <expr> <A-j> pumvisible() ? '<Action>(EditorDown)' : '<Action>(EditorCloneCaretBelow)'
map <expr> <A-k> pumvisible() ? '<Action>(EditorUp)' : '<Action>(EditorCloneCaretAbove)'
imap <expr> <A-j> pumvisible() ? '<Action>(EditorDown)' : '<Action>(EditorCloneCaretBelow)'
imap <expr> <A-k> pumvisible() ? '<Action>(EditorUp)' : '<Action>(EditorCloneCaretAbove)'
" Manage editor tabs " Manage editor tabs
noremap <C-w> :action CloseContent<CR> map <C-w>m <Action>(MoveEditorToOppositeTabGroup)
noremap <C-S-w> :action ReopenClosedTab<CR> map <C-w>s <Action>(MoveTabDown)
noremap \\ <C-w> map <C-w>u <Action>(Unsplit)
map <C-w>U <Action>(UnsplitAll)
map <C-w>v <Action>(MoveTabRight)
noremap \\s :action MoveTabDown<CR> noremap <C-w>S <C-w>s
noremap \\S <C-w>s noremap <C-w>V <C-w>v
noremap \\u :action Unsplit<CR>
noremap \\U :action UnsplitAll<CR>
noremap \\v :action MoveTabRight<CR>
noremap \\V <C-w>v
noremap \\qa :action CloseAllEditors<CR> map <C-w><C-w>a <Action>(CloseAllEditors)
noremap \\qh :action CloseAllToTheLeft<CR> map <C-w><C-w>h <Action>(CloseAllToTheLeft)
noremap \\ql :action CloseAllToTheRight<CR> map <C-w><C-w>l <Action>(CloseAllToTheRight)
noremap \\qo :action CloseAllEditorsButActive<CR> map <C-w><C-w>o <Action>(CloseAllEditorsButActive)
map \\ <C-w>
map \\\\ <C-w><C-w>
" Rebind repurposed commands " Rebind repurposed commands
nnoremap GG G noremap g] ]
nnoremap dG dG noremap g[ [
nnoremap cG cG
nnoremap M m nnoremap M m
nnoremap Z z nnoremap Z z
" Repurpose 'Enter' for statement completion (requires a custom version of IdeaVIM) " Repurpose 'Enter' for statement completion
nmap <Enter> <Action>(EditorCompleteStatement) nmap <Enter> <Action>(EditorCompleteStatement)
" Repurpose 'g' for navigation (:raction requires a custom version of IdeaVIM) " Repurpose 'g' for navigation (VimJumpToSource requires a custom version of IdeaVIM)
nmap gb :raction GotoNextBookmark<CR> map gb <Action>(GotoNextBookmark)
nmap gB :raction GotoPreviousBookmark<CR> map gB <Action>(GotoPreviousBookmark)
nmap gD <Action>(GotoTypeDeclaration) map gD <Action>(GotoTypeDeclaration)
nmap ge :raction VcsShowNextChangeMarker<CR> map ge <Action>(VcsShowNextChangeMarker)
nmap gE :raction VcsShowPrevChangeMarker<CR> map gE <Action>(VcsShowPrevChangeMarker)
nmap gf <Action>(EditSource) map gf <Action>(VimJumpToSource)<Action>(HideActiveWindow)
nmap gi <Action>(GotoImplementation) map gi <Action>(GotoImplementation)
map gj :raction EditorCloneCaretBelow<CR> map gr <Action>(RecentLocations)
map gk :raction EditorCloneCaretAbove<CR> map gR <Action>(RecentChangedFiles)
nmap gr <Action>(RecentLocations) map gs <Action>(GotoSuperMethod)
nmap gR <Action>(RecentChangedFiles) map gS <Action>(ShowSiblings)
nmap gs <Action>(GotoSuperMethod) map gt gg<Action>(KM.GotoNextTypeInFile)
nmap gS <Action>(ShowSiblings) map gT <Action>(KM.GotoNextTypeInFile)
map gt :raction KM.GotoNextTypeInFile<CR> map gu <Action>(ShowUsages)
map gT :raction KM.GotoPreviousTypeInFile<CR> map gU <Action>(FindUsages)
nmap gu <Action>(ShowUsages)
nmap gU <Action>(FindUsages)
map gz <Action>(NextSplitter)
map gZ <Action>(PrevSplitter)
nmap g( :raction KM.GotoPreviousErrorInOtherMode<CR>
nmap g) :raction KM.GotoNextErrorInOtherMode<CR>
" Make bidirectional 'g' commands work with 'G' too
nmap Gb gb
nmap GB gB
nmap Ge ge
nmap GE gE
map Gj gj
map Gk gk
nmap Gt gt
nmap GT gT
map Gz gz
map GZ gZ
" Repurpose 'z' for view actions and debugger " Repurpose 'z' for view actions and debugger
map za <Action>(Annotate) map za <Action>(Annotate)
map zb <Action>(ViewBreakpoints) map zb <Action>(ViewBreakpoints)
map zc <Action>(EditorContextInfo) map zc <Action>(EditorContextInfo)
map zd <Action>(QuickJavaDoc) map zd <Action>(CompareClipboardWithSelection)
map ze <Action>(ShowErrorDescription) map ze <Action>(ShowErrorDescription)
map zf <Action>(SelectInProjectView) map zf <Action>(SelectInProjectView)
map zi <Action>(ShowHoverInfo)
map zm <Action>(ShowBookmarks)
map zp <Action>(QuickImplementations)
map zP <Action>(QuickTypeDefinition)
map zr <Action>(RunToCursor)
map zR <Action>(ForceRunToCursor)
map zs <Action>(osmedile.intellij.stringmanip.PopupChoiceAction)
map zt <Action>(ExpressionTypeInfo)
map zx <Action>(EvaluateExpression)
map zht <Action>(TypeHierarchy) map zht <Action>(TypeHierarchy)
map zhm <Action>(MethodHierarchy) map zhm <Action>(MethodHierarchy)
map zhc <Action>(CallHierarchy)
if &ide =~? 'rider'
map zhc <Action>(RiderShowIncomingCalls)
else
map zhc <Action>(CallHierarchy)
endif
nmap zhl <Action>(LocalHistory.ShowHistory) nmap zhl <Action>(LocalHistory.ShowHistory)
xmap zhl <Action>(LocalHistory.ShowSelectionHistory) xmap zhl <Action>(LocalHistory.ShowSelectionHistory)
nmap zhg <Action>(Vcs.ShowTabbedFileHistory) nmap zhg <Action>(Vcs.ShowTabbedFileHistory)
xmap zhg <Action>(Vcs.ShowHistoryForBlock) xmap zhg <Action>(Vcs.ShowHistoryForBlock)
map zm <Action>(ShowBookmarks) " Repurpose 'm' for refactoring
map zp <Action>(QuickImplementations) map mc <Action>(IntroduceConstant)
map zP <Action>(QuickTypeDefinition) map md <Action>(SafeDelete)
map me <Action>(Move)
map mf <Action>(IntroduceField)
map mg <Action>(Generate)
map mi <Action>(Inline)
map mm <Action>(ExtractMethod)
map mM <Action>(ExtractFunction)
map mn <Action>(RenameElement)
map mo <Action>(OverrideMethods)
map mp <Action>(IntroduceParameter)
map mP <Action>(IntroduceProperty)
map mr <Action>(Refactorings.QuickListPopupAction)
map ms <Action>(ChangeSignature)
map mS <Action>(NewScratchFile)
map mt <Action>(InsertLiveTemplate)
map mv <Action>(IntroduceVariable)
map mw <Action>(SurroundWith)
map zr <Action>(RunToCursor) " Remap NERDTree bindings
map zR <Action>(ForceRunToCursor) let g:NERDTreeMapOpenVSplit = 'v'
let g:NERDTreeMapPreviewVSplit = 'gv'
map zt <Action>(ExpressionTypeInfo) let g:NERDTreeMapOpenSplit = 's'
map zx <Action>(EvaluateExpression) let g:NERDTreeMapPreviewSplit = 'gs'
" Repurpose 'm' for refactoring (normal mode)
nmap md <Action>(SafeDelete)
nmap me <Action>(Move)
nmap mg <Action>(Generate)
nmap mi <Action>(Inline)
nmap mn <Action>(RenameElement)
nmap mo <Action>(OverrideMethods)
nmap ms <Action>(ChangeSignature)
nmap mS <Action>(NewScratchFile)
" Repurpose 'm' for refactoring (normal / visual mode)
nmap mc <Action>(IntroduceConstant)
xmap mc <Action>(IntroduceConstant)
nmap mf <Action>(IntroduceField)
xmap mf <Action>(IntroduceField)
nmap mm <Action>(ExtractMethod)
xmap mm <Action>(ExtractMethod)
nmap mM <Action>(ExtractFunction)
xmap mM <Action>(ExtractFunction)
nmap mp <Action>(IntroduceParameter)
xmap mp <Action>(IntroduceParameter)
nmap mP <Action>(IntroduceProperty)
xmap mP <Action>(IntroduceProperty)
nmap mr <Action>(Refactorings.QuickListPopupAction)
xmap mr <Action>(Refactorings.QuickListPopupAction)
nmap mt <Action>(InsertLiveTemplate)
xmap mt <Action>(SurroundWithLiveTemplate)
nmap mv <Action>(IntroduceVariable)
xmap mv <Action>(IntroduceVariable)
nmap mw <Action>(SurroundWith)
xmap mw <Action>(SurroundWith)
" Actions for custom version of AceJump " Actions for custom version of AceJump
set acejump set acejump
map <Space> <Action>(AceVimAction_JumpAllEditors) map <Space> <Action>(AceVimAction_JumpAllEditors)
map g<Space> <Action>(AceVimAction_JumpAllEditors_GoToDeclaration)

View File

@@ -6,6 +6,8 @@ set -g mouse on
set-window-option -g mode-keys vi set-window-option -g mode-keys vi
bind -T copy-mode-vi v send -X begin-selection bind -T copy-mode-vi v send -X begin-selection
bind -T copy-mode-vi C-v send -X rectangle-toggle
bind -T copy-mode-vi M-v send -X rectangle-toggle
bind -T copy-mode-vi Enter send -X copy-selection-and-cancel bind -T copy-mode-vi Enter send -X copy-selection-and-cancel
unbind -T copy-mode-vi MouseDragEnd1Pane unbind -T copy-mode-vi MouseDragEnd1Pane

176
.vimrc
View File

@@ -1,5 +1,8 @@
set autoindent set autoindent
set backspace=indent,eol,start
set encoding=utf-8 set encoding=utf-8
set guifont=Cascadia_Mono:h12:cANSI:qDRAFT
set guioptions-=t " Remove menu tearoff
set history=1024 set history=1024
set hlsearch set hlsearch
set ignorecase set ignorecase
@@ -7,39 +10,74 @@ set incsearch
set infercase set infercase
set laststatus=2 set laststatus=2
set linebreak set linebreak
set listchars=space,tab:>·,trail:~,extends:>,precedes:< set list
set listchars=lead,trail,tab:→\ ,extends:>,precedes:<
set modeline
set modelines=2
set mouse=a set mouse=a
set noerrorbells set noerrorbells
set nomodeline
set noshowcmd set noshowcmd
set noshowmode set noshowmode
set number
set nrformats-=octal set nrformats-=octal
set number
set relativenumber set relativenumber
set scrolloff=999 set scrolloff=999
set shiftwidth=0 set shiftwidth=0
set showbreak= set shortmess-=S " Show search count
set shortmess-=l " Show full description for lines and bytes
set showbreak=↪\
set showmatch set showmatch
set sidescrolloff=999 set sidescrolloff=999
set smartcase set smartcase
set tabstop=4 set tabstop=4
set ttimeout
set ttimeoutlen=50
set ttymouse=xterm2 set ttymouse=xterm2
set virtualedit=onemore
set wildmenu set wildmenu
set winaltkeys=no
set wrap set wrap
" Show full description for lines and bytes " Windows paths
set shortmess-=l set packpath=$HOME/.vim,$VIM/vimfiles,$VIMRUNTIME
set runtimepath=$HOME/.vim,$VIM/vimfiles,$VIMRUNTIME
" Show search count
set shortmess-=S
" Color scheme " Color scheme
syntax enable syntax enable
colorscheme custom
highlight LineNr ctermfg=244 if has("gui_running")
highlight IncSearch ctermfg=251 ctermbg=238 colorscheme retrobox
highlight Search ctermfg=251 ctermbg=238 highlight NonText ctermfg=14 guifg=#7c6f64
highlight Visual ctermfg=240 ctermbg=250 else
colorscheme custom
highlight LineNr ctermfg=244
highlight IncSearch ctermfg=251 ctermbg=238
highlight Search ctermfg=251 ctermbg=238
highlight Visual ctermfg=240 ctermbg=250
endif
highlight SpecialKey ctermfg=8 guifg=#584f46
" Windows GUI
if has("win32") && has("gui_running")
autocmd GUIEnter * simalt ~x " Maximize window
autocmd GUIEnter * set visualbell t_vb= " Disable bell sound
set listchars+=tab:▶\
set renderoptions=type:directx " Fix unicode rendering
set showbreak=→\
endif
" Fix Alt mappings (https://github.com/vim/vim/issues/2588#issuecomment-697959290)
for ord in range(65, 90) + range(97, 122)
let char = nr2char(ord)
exec printf("set <m-%s>=\<esc>%s", char, char)
exec printf("tnoremap <silent> <m-%s> <esc>%s", char, char)
endfor
" Navigate editor tabs
noremap <M-h> gT
noremap <M-l> gt
" Map top row on Czech keyboard layout to digits " Map top row on Czech keyboard layout to digits
map + 1 map + 1
@@ -54,12 +92,21 @@ map í 9
map é 0 map é 0
" Move some commands closer on Czech keyboard layout " Move some commands closer on Czech keyboard layout
map ů %
nnoremap ú @@ nnoremap ú @@
noremap ů ; noremap , +
map § %
noremap § `
noremap §§ ``
nnoremap m§ m
sunmap ů
sunmap § sunmap §
" Camel humps (https://github.com/vim-scripts/camelcasemotion) " Enter visual block mode
noremap <M-v> <C-v>
" Navigate camel humps (https://github.com/vim-scripts/camelcasemotion)
map L <Plug>CamelCaseMotion_w map L <Plug>CamelCaseMotion_w
map H <Plug>CamelCaseMotion_b map H <Plug>CamelCaseMotion_b
sunmap L sunmap L
@@ -71,8 +118,8 @@ omap iH <Plug>CamelCaseMotion_ib
xmap iH <Plug>CamelCaseMotion_ib xmap iH <Plug>CamelCaseMotion_ib
" Navigate to end of previous word " Navigate to end of previous word
noremap <A-b> ge noremap <M-b> ge
noremap <A-S-b> gE noremap <M-S-b> gE
" Navigate soft-wrapped lines " Navigate soft-wrapped lines
nnoremap <expr> j v:count ? 'j' : 'gj' nnoremap <expr> j v:count ? 'j' : 'gj'
@@ -80,20 +127,35 @@ xnoremap <expr> j v:count ? 'j' : 'gj'
nnoremap <expr> k v:count ? 'k' : 'gk' nnoremap <expr> k v:count ? 'k' : 'gk'
xnoremap <expr> k v:count ? 'k' : 'gk' xnoremap <expr> k v:count ? 'k' : 'gk'
nnoremap gj j
xnoremap gj j
nnoremap gk k
xnoremap gk k
" Navigate unmatched parentheses/braces
noremap g( [(
noremap g) ])
noremap g{ [{
noremap g} ]}
" Edit from cursor to start/end of parenthesized block " Edit from cursor to start/end of parenthesized block
nnoremap c) c]) nnoremap c) c])
nnoremap d) d]) nnoremap d) d])
nnoremap c( c[(( nnoremap c( c[((
nnoremap d( c[((<ESC>l nnoremap d( c[((<Esc>l
" Delete lines " Create lines
nnoremap go o<Esc>$
nnoremap gO O<Esc>$
nnoremap g<CR> i<CR><Esc>l
" Edit current line
nnoremap C cc nnoremap C cc
xnoremap C cc xnoremap C cc
nnoremap D dd nnoremap D dd
xnoremap D dd xnoremap D dd
nnoremap < <<
" Enter visual block mode nnoremap > >>
xnoremap v <C-V>
" Indent keeping selection " Indent keeping selection
xnoremap < <gv xnoremap < <gv
@@ -110,6 +172,71 @@ nnoremap gp `[v`]
xnoremap p P xnoremap p P
xnoremap P p xnoremap P p
" Clear search highlights
nnoremap <Esc> :nohlsearch<Return><Esc>
" Use Ctrl for selection and clipboard
nnoremap <C-a> ggVG
xnoremap <C-a> ggoG
xnoremap <C-c> "+y
xnoremap <C-x> "+x
noremap <C-v> "+gP
inoremap <C-v> <C-o>:set paste<CR><C-r>+<C-o>:set nopaste<CR>
cnoremap <C-v> <C-r>+
nnoremap <C-s> :w<CR>
xnoremap <C-s> :<C-U>w<CR>gv
inoremap <C-s> <C-o>:w<CR>
" Update search register when using f/t
function FindChar(action, reverse, search_affix)
let t:reverse_search = a:reverse
let char = nr2char(getchar())
if char == '\'
let query = '\\'
else
let query = '\C\V'.char.'\v'
endif
if a:reverse
call setreg('/', query.a:search_affix)
else
call setreg('/', a:search_affix.query)
endif
nohlsearch
execute 'normal! '.a:action.char
endfunction
function FindCharVisual(action, reverse, search_affix)
normal gv
call FindChar(a:action, a:reverse, a:search_affix)
endfunction
function! ResetReverseSearchFlag()
if getcmdtype() =~ "[/?]"
let t:reverse_search = 0
endif
endfunction
nmap f :call FindChar('f', 0, '')<CR>
nmap F :call FindChar('F', 1, '')<CR>
nmap t :call FindChar('t', 0, '\zs.\ze')<CR>
nmap T :call FindChar('T', 1, '\zs.\ze')<CR>
xmap f :call FindCharVisual('f', 0, '')<CR>
xmap F :call FindCharVisual('F', 1, '')<CR>
xmap t :call FindCharVisual('t', 0, '\zs.\ze')<CR>
xmap T :call FindCharVisual('T', 1, '\zs.\ze')<CR>
noremap <expr> n 'nN'[t:reverse_search]
noremap <expr> N 'Nn'[t:reverse_search]
cnoremap <CR> <cmd>call ResetReverseSearchFlag()<CR><CR>
" Plugin: https://github.com/easymotion/vim-easymotion.git " Plugin: https://github.com/easymotion/vim-easymotion.git
nmap <Space> <Plug>(easymotion-overwin-f) nmap <Space> <Plug>(easymotion-overwin-f)
xmap <Space> <Plug>(easymotion-s) xmap <Space> <Plug>(easymotion-s)
@@ -120,4 +247,3 @@ let g:highlightedyank_highlight_duration = 500
" Plugin: https://github.com/luochen1990/rainbow " Plugin: https://github.com/luochen1990/rainbow
let g:rainbow_active = 1 let g:rainbow_active = 1

View File

@@ -57,6 +57,10 @@
/* Tabs & toolbars */ /* Tabs & toolbars */
#navigator-toolbox {
border-bottom: none !important;
}
#toolbar-menubar { #toolbar-menubar {
min-height: 21px !important; min-height: 21px !important;
} }
@@ -104,23 +108,33 @@
padding: 0 1px !important; padding: 0 1px !important;
} }
/* Tab playback icons */
.tabbrowser-tab:not([pinned]) .tab-icon-stack:is([muted], [soundplaying], [activemedia-blocked]) {
grid-template-areas: "a s";
}
.tabbrowser-tab:not([pinned]) .tab-icon-overlay:is([muted], [soundplaying], [activemedia-blocked]) {
grid-area: a !important;
}
.tabbrowser-tab:not([pinned]) .tab-icon-stack[indicator-replaces-favicon] > :not(&) {
opacity: 1 !important;
grid-area: s;
}
/* Address bar */ /* Address bar */
#urlbar-container { #urlbar-container {
--urlbar-container-height: 34px !important; --urlbar-container-height: 34px !important;
margin-top: -2px !important;
margin-inline: 3px !important; margin-inline: 3px !important;
} }
#urlbar {
margin: 1px 0 !important;
}
#urlbar .urlbarView-row-inner { #urlbar .urlbarView-row-inner {
padding-block: 4px !important; padding-block: 4px !important;
} }
#urlbar .search-one-offs:not([hidden]){ #urlbar .search-one-offs:not([hidden]) {
padding-block: 4px !important; padding-block: 4px !important;
} }
@@ -140,7 +154,6 @@
padding: 0 !important; padding: 0 !important;
-moz-padding-start: 0 !important; -moz-padding-start: 0 !important;
-moz-padding-end: 0 !important; -moz-padding-end: 0 !important;
border-top: 1px solid var(--chrome-content-separator-color) !important;
background-color: #0E0E0E !important; background-color: #0E0E0E !important;
z-index: 1000 !important; z-index: 1000 !important;
} }