Skip to content

Instantly share code, notes, and snippets.

Alex veirus

View GitHub Profile
@veirus
veirus / todo.vim
Created Jun 14, 2020 — forked from huytd/todo.vim
A Todo list syntax in Vim, with an actual checkbox
View todo.vim
" Vim syntax file
" Language: Todo
" Maintainer: Huy Tran
" Latest Revision: 14 June 2020
if exists("b:current_syntax")
finish
endif
" Custom conceal
@veirus
veirus / grok_vi.mdown
Created Apr 11, 2020 — forked from nifl/grok_vi.mdown
Your problem with Vim is that you don't grok vi.
View grok_vi.mdown

Answer by Jim Dennis on Stack Overflow question http://stackoverflow.com/questions/1218390/what-is-your-most-productive-shortcut-with-vim/1220118#1220118

Your problem with Vim is that you don't grok vi.

You mention cutting with yy and complain that you almost never want to cut whole lines. In fact programmers, editing source code, very often want to work on whole lines, ranges of lines and blocks of code. However, yy is only one of many way to yank text into the anonymous copy buffer (or "register" as it's called in vi).

The "Zen" of vi is that you're speaking a language. The initial y is a verb. The statement yy is a simple statement which is, essentially, an abbreviation for 0 y$:

0 go to the beginning of this line. y yank from here (up to where?)

@veirus
veirus / AddPlugFromClipboard.vim
Created Mar 31, 2020
Quick add plugin from Github to your *.vimrc* or wherever you keep your plugins. Also minpac
View AddPlugFromClipboard.vim
command! -nargs=+ -bar Plug call minpac#add(<args>)
" quick add plugins for a minpac {{{1
function! AddPacFromCb(arg) abort
if v:version >= 801 || (v:version == 800 && has("patch1630"))
let l:cb = trim(@+)
else
" do oldschool way to trim all spaces and whatnot
let l:cb = substitute(@+,'\v^\s*(.{-})\s*\n$','\1','')
endif
@veirus
veirus / emacs-essential-keybindings.md
Created Mar 16, 2020 — forked from ulysses4ever/emacs-essential-keybindings.md
Emacs: основные сочетания клавиш
View emacs-essential-keybindings.md

Обозначения:

  • C — клавиша Control, обычно настроена на Ctrl.
  • M — клавиша Meta, обычно настроена на Alt.

Emacs: Общее

  • M-x ввести команду
  • C-x C-c закрыть Emacs
  • C-g прекратить текущую операцию
@veirus
veirus / base.el
Created Jan 4, 2019
Emacs config
View base.el
;;; Package --- Summary
;;; Commentary:
;;; General Emacs configuration
;;; Code:
;;; Закрывать *scratch* при запуске.
(kill-buffer "*scratch*")
;; (desktop-save-mode 1)
(fset 'yes-or-no-p 'y-or-n-p)
View SavedState.vim
" It's probably not exactly what you want, because you mentioned autocmds in the original post, but you may be interested in :h :DiffOrig. FWIW, here's a modified version of this custom command which I'm using:
com! -bar DiffOrig echo s:diff_orig()
fu! s:diff_orig() abort
let cole_save = &l:cole
setl cole=0
vnew
setl bh=wipe nobl bt=nofile noswf
View Photo_Effects_Relplot_Seaborn_1.py
from PIL import Image
import numpy as np
import matplotlib.pyplot as pyplot
import pandas as pd
from datetime import datetime
import seaborn as sns
ini = datetime.now()
fle = "Cosmonaut" # File name
@veirus
veirus / .eslintrc.js
Created Nov 7, 2018 — forked from nkbt/.eslintrc.js
Strict ESLint config for React, ES6 (based on Airbnb Code style)
View .eslintrc.js
{
"env": {
"browser": true,
"node": true,
"es6": true
},
"plugins": ["react"],
"ecmaFeatures": {
@veirus
veirus / md2org_URLS.vim
Last active Jul 30, 2018
Convert markdown style links to emacs orgmode format
View md2org_URLS.vim
" even easier with `.\{-}`:
%s/\[\(.\{-}\)](\(.\{-}\))/[[\2][\1]]/g
View steamGamesList.js
var names = document.body.getElementsByClassName('gameListRowItemName');
var namesString = '';
for (var i = 0; i < names.length; i++) namesString += (names[i].innerText + '\n');
You can’t perform that action at this time.