Skip to content

Instantly share code, notes, and snippets.

@FARUK-YILDIRIM
Forked from dewaka/.ideavimrc
Last active September 30, 2025 14:13
Show Gist options
  • Select an option

  • Save FARUK-YILDIRIM/9de9a5a9739230fa10f2b0db38203650 to your computer and use it in GitHub Desktop.

Select an option

Save FARUK-YILDIRIM/9de9a5a9739230fa10f2b0db38203650 to your computer and use it in GitHub Desktop.
" General Vim Settings
set ignorecase
set smartcase
set scrolloff=15
set clipboard+=unnamed
set ideajoin
set multiple-cursors
set relativenumber
" Plugin Emulation
set surround
set NERDTree
" Leader key
let mapleader = " "
" Formatting
vmap Q gq
nmap Q gqap
" Newlines in normal mode
nmap zj o<Esc>k
nmap zk O<Esc>j
" Window navigation
nmap <leader>q :action CloseContent<cr>
nmap <leader>Q :action ReopenClosedTab<cr>
nmap <leader>ww :action NextProjectWindow<cr>
nmap <leader>wo :action NextSplitter<cr>
nmap <leader>wp :action PrevSplitter<cr>
nmap ,s :action PrevSplitter<cr>
nmap <leader>wf :action HideAllWindows<cr>
" Splits
nmap <leader>ws :action SplitHorizontally<cr>
nmap <leader>v :action SplitVertically<cr>
nmap <leader>wc :action Unsplit<cr>
nmap <leader>wC :action UnsplitAll<cr>
nmap <leader>wd :action OpenEditorInOppositeTabGroup<cr>
" NERDTree
map <leader>nn :NERDTree<CR>
map <leader>nf :NERDTreeFind<CR>
" Navigation
nmap <leader>h :action Back<cr>
nmap <leader>l :action Forward<cr>
nmap <leader>L :action RecentLocations<cr>
nmap <leader>u :action FindUsages<cr>
nmap <leader>f :action GotoFile<cr>
nmap <leader>c :action GotoClass<cr>
nmap <leader>s :action GotoSymbol<cr>
nmap <leader>m :action ToggleBookmark<cr>
nmap <leader>; :action FileStructurePopup<cr>
nmap <leader>M :action ActivateStructureToolWindow<cr>
nmap <leader>d :action ShowErrorDescription<cr>
nmap <leader>i :action GotoImplementation<cr>
nmap <leader>U :action GotoSuperMethod<cr>
nmap <leader>I :action SelectIn<cr>
nmap <leader>e :action RecentFiles<cr>
nmap <leader>a :action RecentChangedFiles<cr>
nmap <leader>t :action GotoTest<cr>
nmap <leader>p :action JumpToLastWindow<cr>
nmap <leader>b :action ShowBookmarks<cr>
" Git
nmap <leader>gb :action Git.Branches<cr>
nmap <leader>gp :action Git.Pull<cr>
nmap <leader>gu :action Git.Push<cr>
nmap <leader>gr :action Git.Rebase<cr>
nmap <leader>gm :action Git.Merge<cr>
" Goto Action
nmap ,a :action GotoAction<cr>
" Errors
nmap <leader>x :action GotoNextError<cr>
nmap <leader>X :action GotoPreviousError<cr>
" Refactoring
vmap T :action Refactorings.QuickListPopupAction<cr>
vmap <leader>rm :action ExtractMethod<cr>
nmap <leader>rr :action RenameElement<cr>
nmap <leader>rg :action Generate<cr>
nmap <leader>rI :action OptimizeImports<cr>
nmap <leader>rc :action InspectCode<cr>
" VCS
nmap <leader>yy :action Vcs.Show.Local.Changes<cr>
nmap <leader>yp :action Vcs.QuickListPopupAction<cr>
nmap <leader>ya :action Annotate<cr>
nmap <leader>yl :action Vcs.Show.Log<cr>
nmap <leader>yd :action Compare.LastVersion<cr>
nmap <leader>yP :action Git.Pull<cr>
nmap <leader>yr :action Git.ResolveConflicts<cr>
nmap <leader>yo :action Github.Open.In.Browser<cr>
" Terminal / Tools
nmap <leader>T :action ActivateTerminalToolWindow<cr>
nmap <leader>G :action ActivateGradleToolWindow<cr>
nmap <leader>E :action Tool_External Tools_emacsclient<cr>
nmap <leader>S :action Tool_External Tools_sublime_text<cr>
" Motion
nmap <a-j> 15gj
nmap <a-k> 15gk
" Comment line
nmap gcc :action CommentByLineComment<cr>
" Unimpaired-like mappings
nnoremap [<space> O<esc>j
nnoremap ]<space> o<esc>k
nnoremap [q :action PreviousOccurence<cr>
nnoremap ]q :action NextOccurence<cr>
nnoremap [m :action MethodUp<cr>
nnoremap ]m :action MethodDown<cr>
nnoremap [c :action VcsShowPrevChangeMarker<cr>
nnoremap ]c :action VcsShowNextChangeMarker<cr>
nnoremap [b :action PreviousTab<cr>
nnoremap ]b :action NextTab<cr>
nnoremap [e :action MoveLineUp<cr>
nnoremap ]e :action MoveLineDown<cr>
nnoremap [s :action MoveStatementUp<cr>
nnoremap ]s :action MoveStatementDown<cr>
" Search
nmap <leader>/ :action Find<cr>
nmap <leader>\ :action FindInPath<cr>
" Build / Run / Debug (son kullanılanlar)
nmap ,r :action Run<cr>
nmap ,R :action RunAnything<cr>
nmap ,b :action Debug<cr>
nmap ,t :action RerunTests<cr>
nmap ,T :action RerunFailedTests<cr>
nmap ,p :action ToggleLineBreakpoint<cr>
nmap ,i :action ParameterInfo<cr>
" Quick tools
nmap ,, :action QuickJavaDoc<cr>
nmap ,H :action LocalHistory.ShowHistory<cr>
nmap ,e :action JumpToLastChange<cr>
nmap ,yy :action CopySourceRootPath<cr>
nmap ,ya :action CopyAbsolutePath<cr>
nmap ,l :action RecentLocations<cr>
nmap ,S :action ShowProjectStructureSettings<cr>
" Tab pin
nmap \p :action PinActiveTabToggle<cr>
" Last file toggle
nnoremap <BS> <C-S-6>
nnoremap <leader><leader> <C-S-6>
" Font size
nnoremap <C-=> :action EditorIncreaseFontSize<cr>
nnoremap <C--> :action EditorDecreaseFontSize<cr>
" ========================
" TypeScript / JavaScript
" ========================
" Hover / Documentation
nmap gh :action QuickJavaDoc<cr>
" Go to references
nmap gr :action FindUsages<cr>
" Go to definition
nmap gd :action GotoDeclaration<cr>
" Go to implementation
nmap gi :action GotoImplementation<cr>
" Go to type definition
" nmap gt :action TypeDeclaration<cr>
" Rename symbol
nmap rn :action RenameElement<cr>
" Show code actions (intentions)
nmap ca :action ShowIntentionActions<cr>
@FARUK-YILDIRIM
Copy link
Author

FARUK-YILDIRIM commented Sep 30, 2025

Generated vscode version via AI

{
  // ========== Vim Temel Ayarlar ==========
  "vim.useSystemClipboard": true,
  "vim.smartcase": true,
  "vim.ignorecase": true,
  "vim.scrolloff": 15,
  "vim.leader": "<space>",
  "vim.handleKeys": {
    "<C-c>": false
  },

  // ========== Vim Keybindings ==========
  "vim.normalModeKeyBindingsNonRecursive": [
    // Formatlama
    { "before": ["Q"], "commands": ["editor.action.formatDocument"] },

    // Yeni satır
    { "before": ["zj"], "after": ["o", "<Esc>", "k"] },
    { "before": ["zk"], "after": ["O", "<Esc>", "j"] },

    // Navigasyon
    { "before": ["<leader>", "f"], "commands": ["workbench.action.quickOpen"] },
    { "before": ["<leader>", "e"], "commands": ["workbench.view.explorer"] },
    { "before": ["<leader>", "c"], "commands": ["editor.action.revealDefinition"] },
    { "before": ["<leader>", "d"], "commands": ["editor.action.showHover"] },
    { "before": ["<leader>", "u"], "commands": ["editor.action.referenceSearch.trigger"] },
    { "before": ["<leader>", "i"], "commands": ["editor.action.goToImplementation"] },
    { "before": ["<leader>", "rr"], "commands": ["editor.action.rename"] },
    { "before": ["<leader>", "x"], "commands": ["editor.action.marker.next"] },
    { "before": ["<leader>", "X"], "commands": ["editor.action.marker.prev"] },

    // Git
    { "before": ["<leader>", "gb"], "commands": ["git.checkout"] },
    { "before": ["<leader>", "gp"], "commands": ["git.pull"] },
    { "before": ["<leader>", "gu"], "commands": ["git.push"] },

    // Split / Pencereler
    { "before": ["<leader>", "v"], "commands": ["workbench.action.splitEditorRight"] },
    { "before": ["<leader>", "ws"], "commands": ["workbench.action.splitEditorDown"] },
    { "before": ["<leader>", "wc"], "commands": ["workbench.action.closeEditorsInGroup"] },
    { "before": ["<leader>", "wo"], "commands": ["workbench.action.focusNextGroup"] },
    { "before": ["<leader>", "wp"], "commands": ["workbench.action.focusPreviousGroup"] },

    // Terminal
    { "before": ["<leader>", "T"], "commands": ["workbench.action.terminal.toggleTerminal"] },

    // Yoruma alma
    { "before": ["g", "c", "c"], "commands": ["editor.action.commentLine"] },

    // Hızlı belge göster
    { "before": ["g", "h"], "commands": ["editor.action.showHover"] },

    // Dosya ağacı (NERDTree karşılığı)
    { "before": ["<leader>", "nn"], "commands": ["workbench.view.explorer"] },

    // Son dosya geçişi
    { "before": ["<leader>", "<leader>"], "after": ["<C-^>"] },

    // Font boyutu
    { "before": ["<C-=>"], "commands": ["editor.action.fontZoomIn"] },
    { "before": ["<C-->"], "commands": ["editor.action.fontZoomOut"] },

   {
      "before": ["<leader>", "s"],
      "commands": ["workbench.action.showAllSymbols"] // GotoClass benzeri
    },
    {
      "before": ["c", "a"],
      "commands": ["editor.action.quickFix"] // ShowIntentionActions
    },
    {
      "before": ["<leader>", "\\"],
      "commands": ["workbench.action.findInFiles"] // FindInPath
    }
  ],

  "vim.visualModeKeyBindingsNonRecursive": [
    // Formatlama
    { "before": ["Q"], "commands": ["editor.action.formatSelection"] },

    // Refactoring
    { "before": ["T"], "commands": ["editor.action.refactor"] }
  ]
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment