Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 4383178
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 21, 20262026-05-21T12:52:27+00:00 2026-05-21T12:52:27+00:00

I want to learn to use vim. The thing is simple : I don’t

  • 0

I want to learn to use vim. The thing is simple : I don’t know any of its shortcuts. So I don’t want to bother learning them, I want to define my own, for every command !

  1. Is there a way to disable all the commands, and only enable those I’ve set ?
  2. How to redefine the most basic commands ? like insert, move up, move left, exit insert mode… ? I’ve found a lot of tutorials about specific commands, but none about the most basic ones.

Thanks

Edit : Please… Can I get a real answer, instead of “are you sure ?”

Edit 2 : The main reason for this is that I’m on a dvorak keyboard, so it’s not like the shortkeys are mapped to the letters I see… This makes it difficult :p. And second, I want to be super efficient… Like mapping the up, down, left and right key to “j, k, l, ;”, it will enable me to edit a file without moving my hands around. Finally, I HATE when I type a wrong key, and I don’t know what vim (or any other tool) did because it was a shortcut/command but I don’t know what it did because I don’t know it yet. And why learn shortcuts when you can make your own, that you can remember better… I’m french so some letters are not mapped in my mind like it would be for english speakers.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-21T12:52:27+00:00Added an answer on May 21, 2026 at 12:52 pm

    It is possible to purge only that shortcuts that were defined using *map, built-in commands are overridable, but not purgable. If you need to disable particular command you will have to do noremap <Key> <Nop>, the following code should disable them all (but note that it is overriding, not removing anything):

    function s:hsescape(str)
        return substitute(substitute(substitute(substitute(a:str,
                    \      ' ', '<Space>',         'g'),
                    \      '|', '<Bar>',           'g'),
                    \     "\n", '<CR>',            'g'),
                    \'\c^<\%(buffer\|silent\|expr\|special\)\@=', '<LT>', '')
    endfunction
    for s:mode in ['n', 'x', 'o']
        for s:char in map(range(0, 0x7F), 'nr2char(v:val)')
            execute s:mode.'noremap '.s:hsescape(s:char).' <Nop>'
        endfor
    endfor
    for s:mode in ['s', 'i', 'c']
        for s:char in map(range(0, 0x3F), 'nr2char(v:val)')
            execute s:mode.'noremap '.s:hsescape(s:char).' <Nop>'
        endfor
    endfor
    

    Note that this should be immediately followed by code that defines some mappings (or removes some of <Nop> ones) or you will render your vim useless.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I want to learn and use SBCL because of its ease of learning and
I really don't want to use any software, I want to learn by myself.
I want to learn how to use Struts 2 and I created a simple
I currently learning about scrum and want to learn from experienced professionals in the
I want to learn the vim documentation given in the standard help file. But
I want to learn about Cryptography theory (basics) and I want to use the
I want to learn how to use core-animation for the iPhone in a more
I use GVim on Windows 7. I want to learn how to put newline
I'm starting out with Linux programming, and I don't want to learn the gcc.
I want to learn how to create truly robust applications in .net - ones

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.