I am using zc to collapse and zo to expand the code in vim.
My problem is that when I walk through the code using j and k. code that is collapsed is got expand. I want to walk through collapsed code. what can I do?
I am using vim in VScode. But the same is true if I use vim in the terminal.
Is there a way to multiline edit code in matlab, Instead of copy-paste a single line repeatedly, or copy paste from matlab to visual studio editor to take advantage of the visual studio's alt + cursor select?
Just a quick mention that MATLAB officially support multi-line cursor since R2018a, just hold Alt and hold left mouse button (also Alt+Shift in linux) to draw a column selection across multiple lines.
So much I'm missing the Emacs power when I (have to) stay inside Mathematica editor. I saw a few mathematicas-mode, but they are all outdated... Any suggestions?
In Vim I can move a split around. For example, if my window was split in two horizontally, with the topmost split split vertically (3 splits in total) I could move the top-right split to the right to become a vertical split taking up the entire vertical space.
Is this kind of rearrangement possible?
Update: I know resizing is possible, I'm looking to move though. I get the feeling this is not supported by Emacs.
You may be interested by C-x + when you have more than 2 windows. It rearranges equally the windows on the frame. It's convenient for example when you do two C-x 2 in a row and want to have the windows to occupy the same space on the frame.
No, not by default. What you have to play with is basically C-x 0, C-x 1, etc. Look in the Emacs Wiki for extensions that may or may not do what you're looking for.
FWIW, if you are running within a GUI, then you can precisely re-arrange window sizes quickly and easily with the mouse. This isn't quite the same thing as you're asking for, but may be a handy alternative in some cases.
You can click on any non-'active' area of the mode line (such as the buffer name) and then drag it up or down.
Dragging side to side is more fiddly. You must click on the exact border between the two mode lines, and then you can drag left/right.
For your specific example, I don't believe that is supported. AFAIK you can only reorganise the window splits within their existing 'parent' window (the upper split in this example). To make the upper-right window fill the vertical space you would either remove the bottom window with C-x 0, or use C-x 1 to remove all other windows, and then re-split them in the desired manner.
(Tangentially, I've often thought a custom library to 'rotate' the window splits would be a nice thing to have.)
I believe that the window resize commands are built in to window.el, from emacswiki the functions you want documented are:
shrink-window-horizontally ; C-x {
enlarge-window-horizontally ; C-x }
enlarge-window ; C-x ^
shrink-window ; not bound on my system
The comments are what they are bound to on my system, but I don't know if I did that myself.
All of them take a prefix argument, the number of lines to enlarge/shrink. The last two default to vertical.
As far as I know you cannot create a new window that runs the length or width of the screenfrom a window already split in that direction. Buffers remain open if you close the windows though so you can remove windows and then split them in the configuration you want. Then change which buffer is displayed in the window you are standing in by pressing C-x left arrow or right arrow.
I should add that this answer is regarding "vanilla" emacs, there is probably a way of doing what the OP asks if you really want to. It's emacs after all.
I used once a very nice emacs function that set all my windows (emacs windows, not frames) width evenly.
If you open emacs and do C-x 3 twice in a row, you get three vertical windows. Then running the function I am looking for makes the width of these windows the same.
I can't for the life of me find this function again.
Wouldn't someone help me to:
find the name of the function
give me the keyboard shortcut if any
tell me what I should have done to find the answer by myself
Thanks!
You're looking for M-x balance-windows.