You are viewing a single thread.
View all comments View context
0 points
*

Are you talking about configuring the editor? Ideally, that’s not a common task, so it really shouldn’t matter much if it uses TypeScript, elisp, vimscript, or lua.

And if you’re primarily using the mouse, you’re missing most of the point of editors, especially emacs and ViM. The real power of those editors comes from keyboard shortcuts and combos, not from plugins and menus.

permalink
report
parent
reply
5 points
*

Yes, ideally a editor would work without any configuration, but unfortunately I haven’t met any emacs user with sub 200 line dot files.

I personally cannot remember more than 20 hotkeys to save my life.

Also I find the most time-consuming part of my work is actually thinking, not clicking around with a mouse. so I don’t really need to spend month to remember all the hotkey just to save 2 seconds clicking. In fact, slow down and click couple buttons to commit gives me a bit to rest and enjoy the moment when I have finished a task…

permalink
report
parent
reply
4 points
*

It’s not about optimizing code entry, but optimizing reading code, since you read code a lot more than you write it.

I’m not super familiar with emacs, I’m a vim person, but here are a few examples of mouse vs keyboard navigation.

Search for text in a file:

Mouse:

  1. select the text
  2. click “find in page”
  3. click “next”

Shortcut:

  1. Ctrl + F
  2. Click “next”

Vim:

  1. Type * on the word you want
  2. Type n for next, N for previous

Find matching brace/bracket/parenthesis:

Mouse:

  1. Click on brace
  2. Scroll until you find the match

Shortcut: not sure

Vim:

  1. Type %

Navigate to the top/bottom of the file:

Mouse: scroll or click the sidebar

Shortcut: not sure

Vim: gg for the top of file, G for the bottom

Go to a specific line:

I.e. If from output from a script, like a test failure.

Mouse: scroll or if you have a plugin, click on the red part (i.e. test or lint failure)

Shortcut: in VSCode, Ctrl + click on file name

Vim: G or :

And so on. Vim is optimized for code navigation, a mouse is optimized for intuitive navigation (but slower), and shortcuts kinda fill in the gaps.

If you just want to get up and running quickly, something like VSCode is a good option. That’s what I did when I decided to help my team out with some FE TypeScript code, when I normally use something else. I actually installed a vim plugin for VSCode to get the best of both worlds.

But if you really want a fluid code navigation and editing experience, master something like ViM or emacs.

Oh, and I didn’t mention one of the most powerful things in both ViM end emacs: macros. I use them a ton when manipulating text, such as converting JSON to a class/struct, or doing repetitive syntax changes that are just out of reach of a regex.

permalink
report
parent
reply
3 points

Proper VS Code shortcuts for the above cases…

Find next: Ctrl-f, F4

Find matching brace: Ctrl-]

Navigate to Top or Bottom: Ctrl-Home Ctrl-End

I think it’s the same number of keys pressed as vim in every case.

permalink
report
parent
reply
1 point

You raise a valid point. Personally, I used to read and write a lot of code, but I no longer do that. I still maintain a open source project, but my job no longer involves writing code that runs.

IIRC, the most useful functionality I used to use are:

  • peak/goto definitions,
  • mouse over to peak doc and type signature,
  • find usage in project,
  • refractor the name/signature of a function,
  • real time linting and quick fix.

I am quite curious on why go to beginning or end of the file useful? Also I am not sure that the basic find/replace is more useful than find usage/refactor.

permalink
report
parent
reply

Technology

!technology@lemmy.ml

Create post

This is the official technology community of Lemmy.ml for all news related to creation and use of technology, and to facilitate civil, meaningful discussion around it.


Ask in DM before posting product reviews or ads. All such posts otherwise are subject to removal.


Rules:

1: All Lemmy rules apply

2: Do not post low effort posts

3: NEVER post naziped*gore stuff

4: Always post article URLs or their archived version URLs as sources, NOT screenshots. Help the blind users.

5: personal rants of Big Tech CEOs like Elon Musk are unwelcome (does not include posts about their companies affecting wide range of people)

6: no advertisement posts unless verified as legitimate and non-exploitative/non-consumerist

7: crypto related posts, unless essential, are disallowed

Community stats

  • 4.5K

    Monthly active users

  • 2.8K

    Posts

  • 45K

    Comments

Community moderators