add cast, tags
This commit is contained in:
		@@ -1,24 +1,30 @@
 | 
				
			|||||||
---
 | 
					---
 | 
				
			||||||
title: Vim Send To Terminal
 | 
					title: Vim Send To Terminal
 | 
				
			||||||
date: 2023-07-15T20:18:03-04:00
 | 
					date: 2023-07-15T20:18:03-04:00
 | 
				
			||||||
 | 
					asciinema: true
 | 
				
			||||||
 | 
					tags:
 | 
				
			||||||
 | 
					    - vim
 | 
				
			||||||
 | 
					categories:
 | 
				
			||||||
 | 
					    - development
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Semi automatic scripts with vim `:terminal`
 | 
					### Semi automatic scripts with vim `:terminal`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<!--more-->
 | 
					<!--more-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
For a long time, I used the below to send current line to vim's `:terminal`
 | 
					Sometimes, fully automating a task is not worth the effort. So I end up running
 | 
				
			||||||
 | 
					a set of commands usually from a cheat sheet text file slightly modifying the
 | 
				
			||||||
 | 
					arguments each time. I used the below in vim to send line under cursor to vim's
 | 
				
			||||||
 | 
					`:terminal` open in a split 
 | 
				
			||||||
```vim
 | 
					```vim
 | 
				
			||||||
:call term_list()[0]->term_sendkeys(getline('.') .. "\<CR>")
 | 
					:call term_list()[0]->term_sendkeys(getline('.') .. "\<CR>")
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					To send another line `@:` and then for every other line `@@`.  This works because, last
 | 
				
			||||||
 | 
					command run is stored in `register :` and the last macro executed using `@` is
 | 
				
			||||||
 | 
					stored in `register @`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This is very useful if you have a text file with complex shell commands. To run
 | 
					To do the same another day, `:call te<UP arrow>` to recall from vim's command
 | 
				
			||||||
again, `@:` and then again, `@@`. This works because, last command run is
 | 
					history. Or better, add a function and mapping.
 | 
				
			||||||
stored in `register :` and the last macro executed using `@` is stored in
 | 
					 | 
				
			||||||
`register @`. And then to run another day, do `:call te<UP arrow>` to recall
 | 
					 | 
				
			||||||
from vim's command history.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Since this was very useful, I then wrapped it in a function and added a mapping
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
```vim
 | 
					```vim
 | 
				
			||||||
def SendToTerminal()
 | 
					def SendToTerminal()
 | 
				
			||||||
@@ -32,14 +38,16 @@ enddef
 | 
				
			|||||||
nnoremap <silent><leader>s call SendToTerminal()<CR>
 | 
					nnoremap <silent><leader>s call SendToTerminal()<CR>
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Adding more features
 | 
					### More cool features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
So far good for shell commands. But when working with python, had to send a
 | 
					For most use-cases that was enough. However added a few more nice features
 | 
				
			||||||
block of functions to the `ipython` shell. So added support for range of lines.
 | 
					which is very helpful when you need it
 | 
				
			||||||
But then when sending a range of lines to shell, sometimes there had to be a
 | 
					
 | 
				
			||||||
small delay (sleep) between commands so that the previous command can complete
 | 
					1. Support sending a range of lines (visual selection) at a time. E.g. Send a
 | 
				
			||||||
and not eat the rest of commands. Then finally added support for sending `ctrl`
 | 
					   function block to a python shell
 | 
				
			||||||
characters like `ctrl c`, `ctrl l`
 | 
					2. Add a delay between lines in milliseconds. This is useful when the previous
 | 
				
			||||||
 | 
					   command reads from standard input and takes some time to complete
 | 
				
			||||||
 | 
					3. Support sending `ctrl` characters like `ctrl d`, `ctrl c` etc,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```vim
 | 
					```vim
 | 
				
			||||||
vim9script
 | 
					vim9script
 | 
				
			||||||
@@ -72,6 +80,8 @@ vnoremap <silent><leader>s :SendToTerm<CR>
 | 
				
			|||||||
nnoremap <silent><leader>s :SendToTerm<CR>
 | 
					nnoremap <silent><leader>s :SendToTerm<CR>
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### More cool mapping
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Wouldn't it be nice to just double-click commands with mouse? Like a simple GUI! ;)
 | 
					Wouldn't it be nice to just double-click commands with mouse? Like a simple GUI! ;)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```vim
 | 
					```vim
 | 
				
			||||||
@@ -93,7 +103,11 @@ autocmd BufNewFile,BufRead cheat.sh {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Demo!
 | 
					### Demo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{{< asciinema key="vimstt" >}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Getting the scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### What about neovim/tmux/screen?
 | 
					### What about neovim/tmux/screen?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,7 +4,20 @@
 | 
				
			|||||||
{{ define "main" }}
 | 
					{{ define "main" }}
 | 
				
			||||||
    <article>
 | 
					    <article>
 | 
				
			||||||
        <h1 class="display-3 text-center">{{ .Title }}</h1>
 | 
					        <h1 class="display-3 text-center">{{ .Title }}</h1>
 | 
				
			||||||
        <p class="text-center"><time datetime="{{ .Date }}">{{ .Date.Format "2006-01-02" }}</time></p>
 | 
					        <p class="text-center"><time datetime="{{ .Date }}">{{ .Date.Format "2006-01-02" }}</time>
 | 
				
			||||||
 | 
					        {{ if .Params.tags }}
 | 
				
			||||||
 | 
					            |
 | 
				
			||||||
 | 
					            {{range .Params.tags}}
 | 
				
			||||||
 | 
					                <a class="btn btn-primary" href="/tags/{{ . | urlize }}" role="button">{{ . }}</a>
 | 
				
			||||||
 | 
					            {{end}}
 | 
				
			||||||
 | 
					        {{end}}
 | 
				
			||||||
 | 
					        {{ if .Params.categories }}
 | 
				
			||||||
 | 
					            |
 | 
				
			||||||
 | 
					            {{range .Params.categories}}
 | 
				
			||||||
 | 
					                <a class="btn btn-secondary" href="/categories/{{ . | urlize }}" role="button">{{ . }}</a>
 | 
				
			||||||
 | 
					            {{end}}
 | 
				
			||||||
 | 
					        {{end}}
 | 
				
			||||||
 | 
					        </p>
 | 
				
			||||||
        {{ .Content }}
 | 
					        {{ .Content }}
 | 
				
			||||||
    </article>
 | 
					    </article>
 | 
				
			||||||
{{ end }}
 | 
					{{ end }}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										184
									
								
								static/casts/vimstt.cast
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										184
									
								
								static/casts/vimstt.cast
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,184 @@
 | 
				
			|||||||
 | 
					{"version": 2, "width": 105, "height": 27, "timestamp": 1690255394, "env": {"SHELL": "/bin/zsh", "TERM": "tmux-256color"}}
 | 
				
			||||||
 | 
					[0.603476, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m                                                                                                        \r \r"]
 | 
				
			||||||
 | 
					[0.605686, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\u001b[44mbalki@archlinux\u001b[49m \u001b[1m\u001b[32m~/projects/mine/vimfun/stt\r\n\r\u001b[37m % \u001b[0m\u001b[37m\u001b[39m\u001b[49m\u001b[K\u001b[?2004h"]
 | 
				
			||||||
 | 
					[1.043556, "o", "b"]
 | 
				
			||||||
 | 
					[1.123276, "o", "\bba"]
 | 
				
			||||||
 | 
					[1.203174, "o", "t"]
 | 
				
			||||||
 | 
					[1.301279, "o", " "]
 | 
				
			||||||
 | 
					[1.613306, "o", "c"]
 | 
				
			||||||
 | 
					[1.691404, "o", "o"]
 | 
				
			||||||
 | 
					[1.76925, "o", "m"]
 | 
				
			||||||
 | 
					[1.917246, "o", "m"]
 | 
				
			||||||
 | 
					[2.287072, "o", "o"]
 | 
				
			||||||
 | 
					[2.369433, "o", "n"]
 | 
				
			||||||
 | 
					[2.529079, "o", "."]
 | 
				
			||||||
 | 
					[2.807484, "o", "v"]
 | 
				
			||||||
 | 
					[2.887561, "o", "i"]
 | 
				
			||||||
 | 
					[2.987485, "o", "m"]
 | 
				
			||||||
 | 
					[3.570353, "o", "\u001b[?2004l\r\r\n"]
 | 
				
			||||||
 | 
					[3.58573, "o", "\r\u001b[38;5;238m───────┬─────────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m\u001b[m\r\n       \u001b[38;5;238m│ \u001b[0mFile: \u001b[1mcommon.vim\u001b[0m\u001b[m\r\n\u001b[38;5;238m───────┼─────────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m\u001b[m\r\n\u001b[38;5;238m   1\u001b[0m   \u001b[38;5;238m│\u001b[0m \u001b[m\r\n\u001b[38;5;238m   2\u001b[0m   \u001b[38;5;238m│\u001b[0m \u001b[38;5;81mlet\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231mg:mapleader\u001b[0m\u001b[38;5;231m = \u001b[0m\u001b[38;5;186m' '\u001b[0m\u001b[m\r\n\u001b[38;5;238m   3\u001b[0m   \u001b[38;5;238m│\u001b[0m \u001b[38;5;81mset\u001b[0m\u001b[38;5;231m splitbelow splitright\u001b[0m\u001b[m\r\n\u001b[38;5;238m───────┴─────────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m\u001b[m\r\n\r\u001b[K"]
 | 
				
			||||||
 | 
					[3.587155, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m                                                                                                        \r \r"]
 | 
				
			||||||
 | 
					[3.589198, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\u001b[44mbalki@archlinux\u001b[49m \u001b[1m\u001b[32m~/projects/mine/vimfun/stt\r\n\r\u001b[37m % \u001b[0m\u001b[37m\u001b[39m\u001b[49m\u001b[K\u001b[?2004h"]
 | 
				
			||||||
 | 
					[4.995693, "o", "v"]
 | 
				
			||||||
 | 
					[5.055642, "o", "\bvi"]
 | 
				
			||||||
 | 
					[5.174006, "o", "m"]
 | 
				
			||||||
 | 
					[5.273744, "o", " "]
 | 
				
			||||||
 | 
					[5.41173, "o", "-"]
 | 
				
			||||||
 | 
					[5.571713, "o", "-"]
 | 
				
			||||||
 | 
					[5.753233, "o", "c"]
 | 
				
			||||||
 | 
					[5.931673, "o", "l"]
 | 
				
			||||||
 | 
					[6.089803, "o", "e"]
 | 
				
			||||||
 | 
					[6.16969, "o", "a"]
 | 
				
			||||||
 | 
					[6.331837, "o", "n"]
 | 
				
			||||||
 | 
					[6.47983, "o", " "]
 | 
				
			||||||
 | 
					[6.557859, "o", "-"]
 | 
				
			||||||
 | 
					[6.813152, "o", "S"]
 | 
				
			||||||
 | 
					[6.984113, "o", " "]
 | 
				
			||||||
 | 
					[7.224383, "o", "c"]
 | 
				
			||||||
 | 
					[7.326254, "o", "o"]
 | 
				
			||||||
 | 
					[7.446336, "o", "m"]
 | 
				
			||||||
 | 
					[7.588254, "o", "m"]
 | 
				
			||||||
 | 
					[7.810388, "o", "o"]
 | 
				
			||||||
 | 
					[7.930429, "o", "n"]
 | 
				
			||||||
 | 
					[8.108401, "o", "."]
 | 
				
			||||||
 | 
					[8.462427, "o", "v"]
 | 
				
			||||||
 | 
					[8.541417, "o", "i"]
 | 
				
			||||||
 | 
					[8.608111, "o", "m"]
 | 
				
			||||||
 | 
					[9.234495, "o", " "]
 | 
				
			||||||
 | 
					[9.534188, "o", "-"]
 | 
				
			||||||
 | 
					[9.784079, "o", "S"]
 | 
				
			||||||
 | 
					[10.408508, "o", " "]
 | 
				
			||||||
 | 
					[10.528223, "o", "s"]
 | 
				
			||||||
 | 
					[10.686292, "o", "t"]
 | 
				
			||||||
 | 
					[10.830104, "o", "t"]
 | 
				
			||||||
 | 
					[11.008242, "o", "."]
 | 
				
			||||||
 | 
					[11.245051, "o", "v"]
 | 
				
			||||||
 | 
					[11.390101, "o", "i"]
 | 
				
			||||||
 | 
					[11.488703, "o", "m"]
 | 
				
			||||||
 | 
					[12.704646, "o", "\u001b[?2004l\r\r\n"]
 | 
				
			||||||
 | 
					[12.71955, "o", "\u001b[?1000h\u001b[?1049h\u001b[?1h\u001b=\u001b[?2004h"]
 | 
				
			||||||
 | 
					[12.720463, "o", "\u001b[1;27r\u001b[27m\u001b[24m\u001b[23m\u001b[0m\u001b[H\u001b[J\u001b[2;1H▽\u001b[6n\u001b[2;1H  \u001b[3;1H\u001bPzz\u001b\\\u001b[0%m\u001b[6n\u001b[3;1H           \u001b[1;1H\u001b[>c"]
 | 
				
			||||||
 | 
					[12.720681, "o", "\u001b[?25l\u001b[2;1H\u001b[94m~                                                                                                        \u001b[3;1H~                                                                                                        \u001b[4;1H~                                                                                                        \u001b[5;1H~                                                                                                        \u001b[6;1H~                                                                                                        \u001b[7;1H~                                                                                                        \u001b[8;1H~                                                                                                        \u001b[9;1H~                                                                                                        \u001b[10;1H~                                                                                                        \u001b[11;1H~                                                                                                        \u001b[12;1H~                                                                                                        \u001b[13;1H~                                                                                                        \u001b[14;1H~                                                                                                        \u001b[15;1H~                                                                                                        \u001b[16;1H~                                                                                                        \u001b[17;1H~                                                                                                        \u001b[18;1H~                                                                                                        \u001b[19;1H~                                                                                                        "]
 | 
				
			||||||
 | 
					[12.720799, "o", "\u001b[20;1H~                                                                                                        \u001b[21;1H~                                                                                                        \u001b[22;1H~                                                                                                        \u001b[23;1H~                                                                                                        \u001b[24;1H~                                                                                                        \u001b[25;1H~                                                                                                        \u001b[26;1H~                                                                                                        \u001b[0m\u001b[27;88H0,0-1\u001b[9CAll\u001b[8;45HVIM - Vi IMproved\u001b[10;45Hversion 9.0.1676\u001b[11;41Hby Bram Moolenaar et al.\u001b[12;32HVim is open source and freely distributable\u001b[14;39HHelp poor children in Uganda!\u001b[15;30Htype  :help iccf\u001b[34m<Enter>\u001b[0m       for information \u001b[17;30Htype  :q\u001b[34m<Enter>\u001b[0m               to exit         \u001b[18;30Htype  :help\u001b[34m<Enter>\u001b[0m  or  \u001b[34m<F1>\u001b[0m  for on-line help\u001b[19;30Htype  :help version9\u001b[34m<Enter>\u001b[0m   for version info\u001b[1;1H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[14.428684, "o", "\u001b[?25l\u001b[27;78H:\u001b[1;1H\u001b[27;78H\u001b[K\u001b[27;1H:\u001b[?1000l\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[14.830782, "o", "e"]
 | 
				
			||||||
 | 
					[15.026614, "o", "d"]
 | 
				
			||||||
 | 
					[15.106625, "o", "i"]
 | 
				
			||||||
 | 
					[15.204778, "o", "t"]
 | 
				
			||||||
 | 
					[15.268723, "o", " "]
 | 
				
			||||||
 | 
					[15.848928, "o", "c"]
 | 
				
			||||||
 | 
					[15.968866, "o", "h"]
 | 
				
			||||||
 | 
					[16.026805, "o", "e"]
 | 
				
			||||||
 | 
					[16.106825, "o", "a"]
 | 
				
			||||||
 | 
					[16.346622, "o", "t"]
 | 
				
			||||||
 | 
					[16.586891, "o", "."]
 | 
				
			||||||
 | 
					[16.724942, "o", "s"]
 | 
				
			||||||
 | 
					[16.824854, "o", "h"]
 | 
				
			||||||
 | 
					[17.483213, "o", "\r"]
 | 
				
			||||||
 | 
					[17.484646, "o", "\u001b[?1000h\u001b[?25l\"cheat.sh\" \u001b[27;12H\u001b[K\u001b[27;12H6L, 57B"]
 | 
				
			||||||
 | 
					[17.493031, "o", "\u001b[1;1H\u001b[38;5;130mecho\u001b[0m\u001b[31m hi\u001b[0m\r\ndate\u001b[2;5H\u001b[K\u001b[3;1HVIMST \u001b[38;5;130msleep\u001b[0m \u001b[31m4000\u001b[0m\u001b[3;17H\u001b[K\u001b[4;1Hdate\u001b[4;5H\u001b[K\u001b[5;1H\u001b[38;5;130mecho\u001b[0m\u001b[31m bye\u001b[0m\u001b[5;9H\u001b[K\u001b[6;1HVIMST ctrl l\u001b[6;13H\u001b[K\u001b[8;45H\u001b[94m                 \u001b[10;45H                \u001b[11;41H                        \u001b[12;32H                                           \u001b[14;39H                             \u001b[15;30H                                              \u001b[17;30H                                              \u001b[18;30H                                              \u001b[19;30H                                              \u001b[0m\u001b[27;88H1,1\u001b[11CAll\u001b[1;1H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[18.57496, "o", "\u001b[?25l\u001b[27;78H:\u001b[1;1H\u001b[27;1H\u001b[K\u001b[27;1H:\u001b[?1000l\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[18.747096, "o", "v"]
 | 
				
			||||||
 | 
					[18.865071, "o", "e"]
 | 
				
			||||||
 | 
					[18.965219, "o", "r"]
 | 
				
			||||||
 | 
					[19.145075, "o", "t"]
 | 
				
			||||||
 | 
					[19.341239, "o", " "]
 | 
				
			||||||
 | 
					[19.567871, "o", "t"]
 | 
				
			||||||
 | 
					[19.627258, "o", "e"]
 | 
				
			||||||
 | 
					[19.745251, "o", "r"]
 | 
				
			||||||
 | 
					[19.960829, "o", "m"]
 | 
				
			||||||
 | 
					[20.101664, "o", "i"]
 | 
				
			||||||
 | 
					[20.221785, "o", "n"]
 | 
				
			||||||
 | 
					[20.319265, "o", "a"]
 | 
				
			||||||
 | 
					[20.459327, "o", "l"]
 | 
				
			||||||
 | 
					[20.793599, "o", "\r"]
 | 
				
			||||||
 | 
					[20.793953, "o", "\u001b[?1000h\u001b[?25l"]
 | 
				
			||||||
 | 
					[20.797471, "o", "\u001b[1;54H\b\u001b[7m|\u001b[2;53H|\u001b[3;53H|\u001b[4;53H|\u001b[5;53H|\u001b[6;53H|\u001b[7;53H|\u001b[8;53H|\u001b[9;53H|\u001b[10;53H|\u001b[11;53H|\u001b[12;53H|\u001b[13;53H|\u001b[14;53H|\u001b[15;53H|\u001b[16;53H|\u001b[17;53H|\u001b[18;53H|\u001b[19;53H|\u001b[20;53H|\u001b[21;53H|\u001b[22;53H|\u001b[23;53H|\u001b[24;53H|\u001b[25;53H|\r\ncheat.sh                          1,1            All \u001b[0m\u001b[1;54H                                                    \u001b[2;54H                                                    \u001b[3;54H                                                    \u001b[4;54H                                                    \u001b[5;54H                                                    \u001b[6;54H                                                    \u001b[7;54H                                                    \u001b[8;54H                                                    \u001b[9;54H                                                    \u001b[10;54H                                                    \u001b[11;54H                                                    \u001b[12;54H                                                    \u001b[13;54H                                                    \u001b[14;54H                                                    \u001b[15;54H                                                    \u001b[16;54H                                                    \u001b[17;54H                                                    \u001b[18;54H                                                    \u001b[19;54H                                                    \u001b[20;54H                                                    \u001b[21;54H                                                    \u001b[22;54H                                                    \u001b[23;54H                                                    \u001b[24;54H                                                    \u001b[25;54H                                                    \u001b[26;54H\u001b[1m\u001b[97m\u001b[42m!/bin/zsh [running]               0,0-1          All\u001b[1;54H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[21.340332, "o", "\u001b[?25l\u001b[0m\u001b[27;95H^W\u001b[1;54H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[21.396446, "o", "\u001b[?25l\u001b[1C\u001b[34h\u001b[?25h\u001b[50C\u001b[1;54H\u001b[1C\b\u001b[?25l\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[21.398352, "o", "\u001b[?25l\u001b[15C\u001b[34h\u001b[?25h\u001b[1C\u001b[26C\u001b[1;54H\u001b[2;54H\u001b[3C"]
 | 
				
			||||||
 | 
					[21.398702, "o", "\u001b[?25l\u001b[1;54H\u001b[44mbalki@archlinux\u001b[0m\u001b[1C\u001b[1m\u001b[32m~/projects/mine/vimfun/stt\u001b[0m\u001b[2;54H\u001b[1m\u001b[37m % \u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[21.739615, "o", "\u001b[?25l\u001b[0m\u001b[27;95H  \u001b[2;57H\u001b[27;95H^Wh\u001b[2;57H"]
 | 
				
			||||||
 | 
					[21.739691, "o", "\u001b[27;95H   \u001b[1;1H\u001b[26;1H\u001b[1m\u001b[7mcheat.sh                          1,1            All \u001b[0m\u001b[97m\u001b[42m!/bin/zsh [running]               1,1            Top\u001b[1;1H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[22.89177, "o", "\u001b[?25l\u001b[0m\u001b[27;95H<20>\u001b[1;1H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[22.931714, "o", "\u001b[?25l\u001b[27;95H    \u001b[1;1H\u001b[?1000l\u001b[?1000h\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[22.933412, "o", "\u001b[?25l\u001b[2;57Hecho hi\u001b[1;1H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[22.936354, "o", "\u001b[?25l\u001b[3;54Hhi\u001b[1;1H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[22.94211, "o", "\u001b[?25l\u001b[4;54H\u001b[44mbalki@archlinux\u001b[0m\u001b[1C\u001b[1m\u001b[32m~/projects/mine/vimfun/stt\u001b[0m\u001b[5;54H\u001b[1m\u001b[37m % \u001b[1;1H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[24.507692, "o", "\u001b[?25l\u001b[0m\u001b[27;95HV\u001b[1;1H"]
 | 
				
			||||||
 | 
					[24.508117, "o", "\u001b[27;95H1\u001b[1;1H\u001b[1C\u001b[38;5;130m\u001b[47mcho\u001b[0m\u001b[31m\u001b[47m hi\u001b[0m\u001b[47m \u001b[0m\u001b[27;1H\u001b[1m-- VISUAL LINE --\u001b[0m\u001b[27;95H\u001b[K\u001b[27;95H1\u001b[1;1H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[24.789755, "o", "\u001b[?25l\u001b[27;95Hj\u001b[1;1H"]
 | 
				
			||||||
 | 
					[24.790102, "o", "\u001b[27;95H2\u001b[2;1H\u001b[1;1H\u001b[38;5;130m\u001b[47me\u001b[0m\r\nd\u001b[47mate \u001b[0m\u001b[26;35H\u001b[1m\u001b[7m2\u001b[2;1H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[25.077917, "o", "\u001b[?25l\u001b[0m\u001b[27;95Hj\u001b[2;1H"]
 | 
				
			||||||
 | 
					[25.078442, "o", "\u001b[27;95H3\u001b[3;1H\u001b[2;1H\u001b[47md\r\n\u001b[0mV\u001b[47mIMST \u001b[0m\u001b[38;5;130m\u001b[47msleep\u001b[0m\u001b[47m \u001b[0m\u001b[31m\u001b[47m4000\u001b[0m\u001b[47m \u001b[0m\u001b[26;35H\u001b[1m\u001b[7m3\u001b[3;1H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[25.353911, "o", "\u001b[?25l\u001b[0m\u001b[27;95Hj\u001b[3;1H"]
 | 
				
			||||||
 | 
					[25.354276, "o", "\u001b[27;95H4\u001b[4;1H\u001b[3;1H\u001b[47mV\r\n\u001b[0md\u001b[47mate \u001b[0m\u001b[26;35H\u001b[1m\u001b[7m4\u001b[4;1H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[25.781257, "o", "\u001b[?25l\u001b[0m\u001b[27;95Hj\u001b[4;1H"]
 | 
				
			||||||
 | 
					[25.781502, "o", "\u001b[27;95H5\u001b[5;1H\u001b[4;1H\u001b[47md\u001b[0m\u001b[5;2H\u001b[38;5;130m\u001b[47mcho\u001b[0m\u001b[31m\u001b[47m bye\u001b[0m\u001b[47m \u001b[0m\u001b[26;35H\u001b[1m\u001b[7m5\u001b[5;1H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[26.178059, "o", "\u001b[?25l\u001b[0m\u001b[27;95H<20>\u001b[5;1H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[26.238921, "o", "\u001b[?25l\u001b[27;95H5   \u001b[5;1H\u001b[27;95H \u001b[1;1H\u001b[?1000l\u001b[?1000h\u001b[38;5;130mecho\u001b[0m\u001b[31m hi\u001b[0m \r\ndate \r\nVIMST \u001b[38;5;130msleep\u001b[0m \u001b[31m4000\u001b[0m \r\ndate \u001b[5;2H\u001b[38;5;130mcho\u001b[0m\u001b[31m bye\u001b[0m \u001b[27;1H\u001b[K\u001b[26;35H\u001b[1m\u001b[7m1\u001b[1;1H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[26.239565, "o", "\u001b[?25l\u001b[0m\u001b[5;57Hecho hi\u001b[1;1H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[26.240481, "o", "\u001b[?25l\u001b[6;54Hhi\u001b[1;1H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[26.246317, "o", "\u001b[?25l\u001b[7;54H\u001b[44mbalki@archlinux\u001b[0m\u001b[1C\u001b[1m\u001b[32m~/projects/mine/vimfun/stt\u001b[0m\u001b[8;54H\u001b[1m\u001b[37m % \u001b[0mdate\u001b[1;1H\u001b[34h\u001b[?25h\u001b[?25l\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[26.250645, "o", "\u001b[?25l\u001b[9;54HMon 24 Jul 2023 11:23:41 PM EDT\u001b[1;1H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[26.251354, "o", "\u001b[?25l\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[26.256797, "o", "\u001b[?25l\u001b[10;54H\u001b[44mbalki@archlinux\u001b[0m\u001b[1C\u001b[1m\u001b[32m~/projects/mine/vimfun/stt\u001b[0m\u001b[11;54H\u001b[1m\u001b[37m % \u001b[1;1H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[30.242604, "o", "\u001b[?25l\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[30.2437, "o", "\u001b[?25l\u001b[0m\u001b[11;57Hdate\u001b[1;1H\u001b[34h\u001b[?25h\u001b[?25l\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[30.24826, "o", "\u001b[?25l\u001b[12;54HMon 24 Jul 2023 11:23:45 PM EDT\u001b[1;1H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[30.248916, "o", "\u001b[?25l\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[30.254193, "o", "\u001b[?25l\u001b[13;54H\u001b[44mbalki@archlinux\u001b[0m\u001b[1C\u001b[1m\u001b[32m~/projects/mine/vimfun/stt\u001b[0m\u001b[14;54H\u001b[1m\u001b[37m % \u001b[0mecho\u001b[1;1H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[30.254912, "o", "\u001b[?25l\u001b[14;62Hbye\u001b[1;1H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[30.255543, "o", "\u001b[?25l\u001b[15;54Hbye\u001b[1;1H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[30.260783, "o", "\u001b[?25l\u001b[16;54H\u001b[44mbalki@archlinux\u001b[0m\u001b[1C\u001b[1m\u001b[32m~/projects/mine/vimfun/stt\u001b[0m\u001b[17;54H\u001b[1m\u001b[37m % \u001b[1;1H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[32.366676, "o", "\u001b[?25l\u001b[0m\u001b[27;95HG\u001b[1;1H\u001b[27;95H \u001b[6;1H\u001b[26;35H\u001b[1m\u001b[7m6\u001b[6;1H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[33.622721, "o", "\u001b[?25l\u001b[0m\u001b[27;95Hk\u001b[6;1H\u001b[27;95H \u001b[5;1H\u001b[26;35H\u001b[1m\u001b[7m5\u001b[5;1H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[33.804893, "o", "\u001b[?25l\u001b[0m\u001b[27;95Hk\u001b[5;1H\u001b[27;95H \u001b[4;1H\u001b[26;35H\u001b[1m\u001b[7m4\u001b[4;1H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[38.012689, "o", "\u001b[?25l\u001b[26;35H6,8\u001b[6;8H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[38.359024, "o", "\u001b[?1000l\u001b[?1000h\u001b[?25l\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[38.360913, "o", "\u001b[?25l\u001b[0m\u001b[2;57H       \u001b[3;54H  \u001b[4;54H                                          \u001b[5;54H          \u001b[6;54H  \u001b[7;54H                                          \u001b[8;54H       \u001b[9;54H                               \u001b[10;54H                                          \u001b[11;54H       \u001b[12;54H                               \u001b[13;54H                                          \u001b[14;54H           \u001b[15;54H   \u001b[16;54H                                          \u001b[17;54H   \u001b[6;8H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[39.454289, "o", "\u001b[?25l\u001b[26;35H\u001b[1m\u001b[7m5\u001b[5;8H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[39.618716, "o", "\u001b[?1000l\u001b[?1000h\u001b[?25l\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[39.620149, "o", "\u001b[?25l\u001b[0m\u001b[2;57Hecho bye\u001b[5;8H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[39.621315, "o", "\u001b[?25l\u001b[3;54Hbye\u001b[5;8H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[39.623263, "o", "\u001b[?25l\u001b[4;54H\u001b[44mbalki@archlinux\u001b[0m\u001b[1C\u001b[1m\u001b[32m~/projects/mine/vimfun/stt\u001b[0m\u001b[5;54H\u001b[1m\u001b[37m % \u001b[5;8H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[40.77026, "o", "\u001b[?25l\u001b[0m\u001b[26;35H\u001b[1m\u001b[7m1,7\u001b[1;7H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[40.93504, "o", "\u001b[?1000l\u001b[?1000h\u001b[?25l\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[40.936345, "o", "\u001b[?25l\u001b[0m\u001b[5;57Hecho hi\u001b[1;7H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[40.937653, "o", "\u001b[?25l\u001b[6;54Hhi\u001b[1;7H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[40.943521, "o", "\u001b[?25l\u001b[7;54H\u001b[44mbalki@archlinux\u001b[0m\u001b[1C\u001b[1m\u001b[32m~/projects/mine/vimfun/stt\u001b[0m\u001b[8;54H\u001b[1m\u001b[37m % \u001b[1;7H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[42.629357, "o", "\u001b[?25l\u001b[0m\u001b[26;35H\u001b[1m\u001b[7m6,12\u001b[6;12H\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[44.032006, "o", "\u001b[?25l\u001b[0m\u001b[27;95H:\u001b[6;12H\u001b[27;95H\u001b[K\u001b[27;1H:\u001b[?1000l\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[44.193796, "o", "q"]
 | 
				
			||||||
 | 
					[44.393755, "o", "a"]
 | 
				
			||||||
 | 
					[44.71981, "o", "!"]
 | 
				
			||||||
 | 
					[45.462189, "o", "\r\u001b[?1000h\u001b[?25l\u001b[?1000l\u001b[?2004l"]
 | 
				
			||||||
 | 
					[45.462284, "o", "\u001b[27;1H\u001b[K\u001b[27;1H\u001b[?2004l\u001b[?1l\u001b>\u001b[?1049l\u001b[34h\u001b[?25h"]
 | 
				
			||||||
 | 
					[45.464866, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m                                                                                                        \r \r"]
 | 
				
			||||||
 | 
					[45.470145, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\u001b[44mbalki@archlinux\u001b[49m \u001b[1m\u001b[32m~/projects/mine/vimfun/stt\r\n\r\u001b[37m % \u001b[0m\u001b[37m\u001b[39m\u001b[49m\u001b[K\u001b[?2004h"]
 | 
				
			||||||
 | 
					[47.152206, "o", ":"]
 | 
				
			||||||
 | 
					[47.614152, "o", "\b: "]
 | 
				
			||||||
 | 
					[47.812179, "o", "T"]
 | 
				
			||||||
 | 
					[47.892206, "o", "h"]
 | 
				
			||||||
 | 
					[48.044315, "o", "a"]
 | 
				
			||||||
 | 
					[48.102131, "o", "n"]
 | 
				
			||||||
 | 
					[48.202197, "o", "k"]
 | 
				
			||||||
 | 
					[48.320023, "o", "s"]
 | 
				
			||||||
 | 
					[48.460466, "o", " "]
 | 
				
			||||||
 | 
					[48.540361, "o", "f"]
 | 
				
			||||||
 | 
					[48.618256, "o", "o"]
 | 
				
			||||||
 | 
					[48.718252, "o", "r"]
 | 
				
			||||||
 | 
					[48.778222, "o", " "]
 | 
				
			||||||
 | 
					[49.134702, "o", "w"]
 | 
				
			||||||
 | 
					[49.234434, "o", "a"]
 | 
				
			||||||
 | 
					[49.310933, "o", "t"]
 | 
				
			||||||
 | 
					[49.596789, "o", "c"]
 | 
				
			||||||
 | 
					[49.734453, "o", "h"]
 | 
				
			||||||
 | 
					[49.834509, "o", "i"]
 | 
				
			||||||
 | 
					[49.952548, "o", "n"]
 | 
				
			||||||
 | 
					[50.03251, "o", "g"]
 | 
				
			||||||
 | 
					[50.352787, "o", "!"]
 | 
				
			||||||
 | 
					[50.909101, "o", "\u001b[?2004l\r\r\n"]
 | 
				
			||||||
 | 
					[50.914851, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m                                                                                                        \r \r"]
 | 
				
			||||||
 | 
					[50.916752, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\u001b[44mbalki@archlinux\u001b[49m \u001b[1m\u001b[32m~/projects/mine/vimfun/stt\r\n\r\u001b[37m % \u001b[0m\u001b[37m\u001b[39m\u001b[49m\u001b[K\u001b[?2004h"]
 | 
				
			||||||
 | 
					[51.490522, "o", "\u001b[?2004l\r\r\n"]
 | 
				
			||||||
		Reference in New Issue
	
	Block a user