From 071ad3b4cb371e864316a821120ea1b63e6bf213 Mon Sep 17 00:00:00 2001 From: Akshay Date: Sat, 25 Jan 2020 19:16:36 +0530 Subject: site layout; use esh --- docs/posts/hold_position!.html | 47 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 docs/posts/hold_position!.html (limited to 'docs/posts/hold_position!.html') diff --git a/docs/posts/hold_position!.html b/docs/posts/hold_position!.html new file mode 100644 index 0000000..a0f3fdf --- /dev/null +++ b/docs/posts/hold_position!.html @@ -0,0 +1,47 @@ + + + + + + + + + + + + + +
+
30/07 2019
+ + Hold Position! + +
+

Often times, when I run a vim command that makes “big” changes to a file (a +macro or a :vimgrep command) I lose my original position and feel disoriented.

+ +

Save position with winsaveview()!

+ +

The winsaveview() command returns a Dictionary that contains information +about the view of the current window. This includes the cursor line number, +cursor coloumn, the top most line in the window and a couple of other values, +none of which concern us.

+ +

Before running our command (one that jumps around the buffer, a lot), we save +our view, and restore it once its done, with winrestview.

+ +
let view = winsaveview()
+s/\s\+$//gc              " find and (confirm) replace trailing blanks
+winrestview(view)        " restore our original view!
+
+ +

It might seem a little overkill in the above example, just use “ (double +backticks) instead, but it comes in handy when you run your file through +heavier filtering.

+ +
+ ‹ Back +
+
+ + -- cgit v1.2.3