commit a2d8692a2ffa2380fed796c55be79f4589907a6f
Author: Julius Huelsmann <[email protected]>
Date:   Mon Nov 11 13:21:28 2019 +0100

    [st][patch][vimBrowse] Add patch

diff --git a/st.suckless.org/patches/vimBrowse/index.md 
b/st.suckless.org/patches/vimBrowse/index.md
new file mode 100644
index 00000000..2bf2b33e
--- /dev/null
+++ b/st.suckless.org/patches/vimBrowse/index.md
@@ -0,0 +1,109 @@
+Vim Browse
+==========
+
+![Screenshot](https://user-images.githubusercontent.com/9212314/68340852-7d6d9380-00e7-11ea-9705-51ed098eba2a.gif)
+
+
+Description
+-----------
+
+This patch offers the possibility to move through the terminal history, search 
for strings and use
+VIM-like motions, operations and quantifiers.
+
+
+Default Behavior:
+-----------------
+The default behavior listed below can be adapted:
+
+**Enter Vim Browse Mode**:
+* `Alt`+`c`
+
+**Operations in Vim Browse Mode**:
+* Enter Visual Mode: `V` / `v`
+* Enter Yank Mode: `Y`
+
+**Motions in Vim Browse Mode**:
+* Basic motions: `j`, `k,` `h`, `l`, `H`, `M`, `L`, `0`, `$` like in VIM
+* Word Move operators: `w`, `W`, `e`, `E`, `b`, `B` similar to VIM
+* Search Operators: `/`, `?`, `n`, `N` for forward / backward search
+* Jump to the cursor position prior to entering Vim Browse Mode: `G`
+* Repeat last command string: `.`
+* in Visual Mode `v`: use `t` to toggle block selection mode
+
+**Custom Commands**:
+Custom arrangements of the aforementioned commands can be defined in the 
configuration file:
+
+The shortcut
+
+`
+struct NormalModeShortcuts normalModeShortcuts [] = {
+       { 'C', "/Cheese
" },
+}
+`
+
+searches for the next occurrence of Cheese when the letter C is pressed.
+Usecases are for instance to jump between executed commands or to last error 
in a compile error
+output.
+
+No sanity checks are performed wrt. the custom shortcuts; the program does not 
check if the command
+is circular. Hence the (useless) shortcut
+
+`
+struct NormalModeShortcuts normalModeShortcuts [] = {
+       { 'C', "C" },
+}
+`
+
+triggers an infinite loop as soon 'C' is typed in normal mode, because `C` is 
contained
+in the shortcut as control character.
+
+**Search Mode**
+In search mode, the cursor jumps to the next occurrence of the search string, 
shifts the screen
+if necessary  and highlights all occurrences of the search string that are 
currently visible on
+screen.
+
+All motions -- including the search mode -- are currently circular,  (hence if 
no search result is
+found, the search is continued at the top or bottom of the history, depending 
on the search
+direction).
+
+Notes
+-----
+* Currently based on the [Scrollback 
patch](https://st.suckless.org/patches/scrollback/),
+  this dependency will be removed (see __Bugs__ section).
+* The patch is applied both to a non-patched version and to a patched version 
of st
+  and can be tried out [here](https://github.com/juliusHuelsmann/st) (browse 
the available branches
+  for finding the different versions of the patch). Contributions are welcome.
+
+Bugs
+-----
+* The following two 'Bugs' will be resolved by removing the dependency on the 
Scrollback patch
+  which is currently work in progress:
+  * Normal mode overrides the output at the cursor position if the current 
command is still
+      running and outputs text while not in alternate screen mode (not vim / 
htop etc)
+  * in Alternate Screen mode, the current position is reset on repaint (e.g. 
htop).
+
+
+Download
+--------
+* 
[st-vimBrowse-20191107-2b8333f.diff](https://github.com/juliusHuelsmann/st/releases/download/patchesV1/st-vimBrowse-20191107-2b8333f.diff)
+
+Authors of the [Scrollback patch](https://st.suckless.org/patches/scrollback/)
+------------------------------------------------------------------------------
+* Jochen Sprickerhof - <[email protected]>
+* M Farkas-Dyck - <[email protected]>
+* Ivan Tham - <[email protected]> (mouse scrolling)
+* Ori Bernstein - <[email protected]> (fix memory bug)
+* Matthias Schoth - <[email protected]> (auto altscreen scrolling)
+* Laslo Hunhold - <[email protected]> (unscrambling, git port)
+* Paride Legovini - <[email protected]> (don't require the Shift modifier
+  when using the auto altscreen scrolling)
+* Lorenzo Bracco - <[email protected]> (update base patch, use static
+  variable for config)
+* Kamil Kleban - <[email protected]> (fix altscreen detection)
+* Avi Halachmi - <[email protected]> (mouse + altscreen rewrite after 
`a2c479c`)
+* Jacob Prosser - <[email protected]>
+
+
+Authors of the Vim-Browse Patch
+--------------------------------
+* Julius Hülsmann - <juliusHuelsmann [at] gmail [dot] com>


Reply via email to