[ / / / / / / / / / / / ] [ dir / abdl / asmr / aus / d / fapioh / fur / newbrit / wai ]

# /tech/ - Technology

Catalog

Name Email Select/drop/paste files here * = required field [▶ Show post options & limits]Confused? See the FAQ.
Flag None2XOS9frontAbsolute LinuxAlpine LinuxALT LinuxAmigaAndroidAndroid-x86AntergosantiXApartheid LinuxAPODIOAppleApple (Classic)ArchBangArch LinuxArtistXAsteriskNOWAtariAzure Cloud SwitchBlackberry OSBodhi LinuxCentOSChakraChrome OSChromium OSClonezillaCommodoreCrunchBangCRUXDebianDOSDragonFly BSDDreamlinuxEdubuntuelementary OSEliveEmacsEvolve OSFedoraFirefox OSForesight LinuxFreeBSDFreeNASFrugalware LinuxFuduntuFuntooGeeXboXGentooGhostBSDgNewSenseGNUGNU/LinuxGNU HurdGuixGuixSDHaikuIBMIllumosKali LinuxKnoppixKororaKubuntuLinuxLinux MintLubuntuMageiaMandrivaManjaro LinuxMEPISMINIXMooOSMorphOSMythbuntuNetBSDNexentaStorNimbleXNuBSDOLPC OSOpenBSDopenSUSEParabola GNU/Linux-librePardus LinuxPC-BSDPCLinuxOSPinguy OSPlan 9 from Bell LabsPuppy LinuxReactOSRed HatSabayonSailfishSalix OSScientific LinuxSlackwareSlaxSliTaz GNU/LinuxSolarisSymbianTailsTempleOSTiny Core LinuxTizenToleranUXTrisquelUbuntuUbuntu GNOMEUbuntu MATEUbuntu StudioUltimate EditionUtutoVectorLinuxViperrVoid LinuxWindowsWindows (Classic)Windows 7Windows VistaWindows XPXubuntuZenwalkZorin OS Show oekaki applet (replaces files and can be used instead) Do not bump(you can also write sage in the email field)Spoiler images(this replaces the thumbnails of your images with question marks) (For file and post deletion.) Allowed file types:jpg, jpeg, gif, png, webm, mp4, pdfMax filesize is 12 MB.Max image dimensions are 10000 x 10000. You may upload 3 per post.

File: 3ec6214ef8352cf⋯.png (124.24 KB, 600x600, 1:1, vim.sh-600x600.png)

No.769087

What plugins and extensions do you use for vim or emacs? What settings do you enable in the configs? Have you found any underrated/underused default utilities? Please share. Not a editor war thread.

No.769103

don't use :set rnu it's slow as fuck

No.769106

>cuck editor

No.769108

>Ugandan niggerware

lol pass, i'd rather use kosher emacs

No.769111

>>769106

Pretty soon, your IQ will drop and the word "editor" will be replaced with "cuck" in your brain too. Cuck cuck, cuck cuck squawk. Chicken chicken chicken.

No.769112

Evil is one way vimcucks can redeem themselves. The other is suicide.

No.769114

>>769112

Viper is pretty good as well tbh. Not exacly a Vim clone though.

No.769120

For emacs:

>completion

irony, company

>latex

auctex, obviously

And that's all. Emacs itself is already pretty complete and slow enough.

No.769137

>>769087

vim with no plugins and

set expandtab

set shiftwidth=2

set softtabstop=2

set noswapfile

No.769143

>Visual Studio CODE

>Atomic Dream

>gives the top half of the screen to Atom and bottom to Sublime

>written by a dude that works across my street in SF Bay

>CloudSafe.io

>stores everything in the cloud in real time, including repo, cursor position, undo history, fonts, and plugins.

>when I use another computer I can easily connect to CloudSafe and have all my plugins and current workspace open on a fresh install of Visual Studio CODE

>Xcode-sync

>seamlessly synchronizes the IDE with Xcode

>polylintify.io

>lints your code on every keystroke, saved me from over 500 bugs

No.769147

Am I the only one who uses vim completely default?

No.769173

>>769143

kek, people will seriously reply to this

>>769147

I'm using completely default vim right now, that's why I want to know about customizations.

No.769190

>>769087

There's a vim jedi on youtube Damian Conway, but gives talks on vi / vim productivity and macros. https://www.youtube.com/watch?v=aHm36-na4-4

I just rice a theme and use it raw if I don't want to use vi in a terminal while coding.

Nerd tree is popular.

No.769198

>>769173

> I'm using completely default vim right now, that's why I want to know about customizations.

The worst thing you can do is ask for a list of useful plugins, install all of them, and then wonder what the fuck just happened. I have been there and it's a mess. The best thing is after you have been using Vim for a while and you find wanting something to go an search for a plugin that scratches that one itch.

That said, there are some generally useful plugins that I can recommend to most people:

> Package manager

I use Neovim with vim-plug (https://github.com/junegunn/vim-plug), but other plugin managers work as well.

> tpope/vim-fugitive

A Git wrapper, allows you to use Git commands from inside Vim

> tpope/vim-eunuch

A Unix command wrapper, allows you to rename, move or remove files from within Vim. Very handy.

> tpope/vim-commentary

Adds a command (gc) for commenting and uncommenting pieces of code in a lot of languages. Make a selection, press gc and it will all be commented or uncommented.

> tpope/vim-characterize

If you Unicode you can press ga on top of a character and get information about that character. ga works without this plugin, but with the plugin the display is better.

> Shougo/denite.nvim

This one is a bit hard to explain, basically it's an interface for other plugins that makes it possible to have some sort of filtering menu interface. One of the sources it comes with is an asynchronous fuzzy file finder, which is what I use most of the time.

> Raimondi/delimitMate

Insert the matching parentheses and quotation marks automatically, the best one I have found.

> SirVer/ultisnips

Snippets

> scrooloose/nerdtree

A file drawer to the left side. It's great for exploring a project's code base, but you should not use it for opening files:

http://vimcasts.org/blog/2013/01/oil-and-vinegar-split-windows-and-project-drawer/

> justinmk/vim-dirvish

A file system browser more in line with the above link

> scrooloose/syntastic & neomake/neomake

Run linters automatically. I use neomake when possible because it runs asynchronously, i.e. without blocking the editor while the checker is running.

No.769237

No.769246

>>769111

Underrated trips of truth

No.769252

I can share some things for Emacs.

magit is an excellent git extension. It exposes git very well, and makes certain git features much more accessible than git itself makes them, even disregarding the Emacs integration.

undo-tree visualizes your entire undo history as a tree. Emacs already saves all your undos by default, and lets you access any previous state of your buffer, but the regular user interface pretty much consists of a single keybinding, which is horrible. undo-tree makes it pleasant.

window-number is a good way for switching between windows. Instead of the C-x o dance you press M-1, M-2, etcetera. That replaces the meta bindings for the prefix argument, but you can get those with C-1, C-2, etcetera or C-x <number> anyway, so that's fine.

Leuven is a very nice built-in theme. It's especiall good with org-mode.

multiple-cursors is an easier way of doing most of the things you'd do with keyboard macros.

wc-mode is good if you need to track word count.

ag is an interface to the command line tool of the same name. Gives you an overview of all the matches in a directory tree of a term, with links you can follow. Simple, well-executed.

whitespace is a built-in package for handling whitespace problems. Its whitespace-cleanup command is especially useful, it automatically corrects trailing whitespace and useless mixing of tabs and spaces. Give it a keybinding and you can clean up those messes in half a second each for the rest of your life.

Lean to use the built-in package manager, if you haven't already, and add MELPA and Marmalade to it. Makes it trivial to find and install just about anything you need, including all of the above.

No.769273

Not exactly Emacs configuration, but remapping Caps Lock as Control ""and Escape"" is a must-have.

No.769275

>>769273

For a while I used xcape to turn it into an escape key, but it ended up interfering more than it helped. Caps Lock as a Control key is great, though.

No.769287

>>769190

http://howivim.com/2016/damian-conway/

>I don’t use a colour scheme at all, and very rarely use syntax highlighting. I find multicoloured code very distracting…almost inducing sensory overload. It much easier to cope with just my standard yellow-on-black terminal window.

Which is great. But the down side is that you cannot stand colored code anymore, it looks disturbing and gay as fuck.

I hope E-ink monitors will be here soon and syntax highlighting will die .

No.769293

Nano just werks

No.769500

space-vim and you're language/project Ctags.

No.769540

File: 2fd15692d687777⋯.gif (328.92 KB, 363x436, 363:436, aylmao.gif)

>>769287

"ayy"A3yy"Ay}v/end<CR>'Ay"Ayyetc.

No.769762

How do you get around project management in Vim?

I tried, but Vim's incompetency in this area got me started with Emacs.

No.769800

Is there some way to make Emacs use different fonts for text and programming?

No.769802

>>769800

variable-pitch-mode activates a proportional font for the current buffer. I have it bound to C-c v, but you could add a hook for it. For example, if you want to automatically enable it for org-mode, put this in your init file:

(add-hook 'org-mode-hook 'variable-pitch-mode)

No.769819

>>769802

Thanks anon that will help.

No.769845

>>769762

You know how folders work, right?

No.769855

>>769287

use comfy grayscale

>Preview: base16-grayscale-dark/light

chriskempson.github.io/base16/

No.769950

>>769540

>swift

No.769954

>>769198

>neogavim swag 3.0 noscope edition whatever

refer to >>768273

No.769985

>>769950

The guy is a tremendous shitlord.

This is a kind of insanity he does.

No.770039

>>769500

>space-vim

>vim copying spacemacs

Holy shit this is cool. And it seems like a Japanese guy made it/

No.770044

>>769985

>up next: Stevan Little - Perl - The Detroit of Scripting Languages

triggered

No.770155

>>770039

I don't get the hype between Space{macs,vim}, from what I see it's {Emacs,Vim} with a shitton of plugins and configs thrown onto them. It's taking an already complex system and adding even more complexity on top of it. The time spent on learning all features could just as well be used to make your own customizations according to your own needs instead of fighting someone else's choices.

No.770184

>>770155

It's actually the opposite. A bunch of presets for packages with a UI that is all about ease of discovery.

There's almost nothing to learn other than press Space.

No.770300

I've been using vim for a few years, mostly with NERDTree and split windows. I've gotten fairly used to it.

Now, I've decided to start using i3 a few months ago. This doesn't fit well with vim's splits and especially not NERDTree. Are any other people using i3 with vim? How do you work with it? Do you use vim or i3 itself to manage the splits? Do you use an external/other file manager/project explorer? Are there any fancy ways to have vim open splits in new windows?

No.770367

>>770300

I personally find it easier to let i3 handle the splits. I never liked splitting within Vim. If Xorg isn't available I use Tmux for splitting.

I'm not saying the way Vim does splitting is bad, I just prefer to not use it when any other option is available.

No.770403

>>770367

this. split with i3 and just forget vim ever had the feature.

No.770587

>>770367

>>770403

Well, I guess I could get that far by myself, but do you guys really cd into the project directory and run vim for every new split you make? Or do you use some fancy "open new terminal in the current terminal's cwd"? Or do you use some file manager like ranger?

Tbh, I find NERDTree (or any project explorer, for that matter) too useful to just go and drop it. It bothers me that there simply is no proper alternative that works well with i3. That said, I could go with something like netrw if there was a way to have a shortcut to open a new i3 split with it.

No.770598

>>770587

There are apparently ways to do it depending on what terminal you use (seems to work best with urxvt) https://faq.i3wm.org/question/150/how-to-launch-a-terminal-from-here/ but I'm a lazy nigger and use lilyterm and haven't found anything that works with that so I just navigate to the directory like a luddite each time.

No.770609

>>770598

Yeah, I've looked for this before, but all the available solutions fall into these categories:

1. Save the cwd somewhere (either a file, variable, or urxvt seems to have fancy stuff for it), every time you change directory (either by hooking cd, hijacking PS1, or some fancy hook in your shell)

2. Save the cwd in the window's title, have i3 read that through a shitty patch.

3. Look up the PID of the current window, recurse to it's deepest child, get that cwd.

The first two solutions are shitty hacks, using things that shouldn't be used for this purpose, have a lot of weird corner-cases, and simply won't work as well for obvious reasons.

The latter would seem like the best solution to me, and I would use it, if I wasn't using urxvtd, which completely breaks it, since it'll only ever get the cwd of the shell in the terminal with the lowest PID.

>I'm a lazy nigger and use lilyterm and haven't found anything that works with that so I just navigate to the directory like a luddite each time

I really don't want to resort to that. When projects span more than 3 files, some kind of file manager is a must-have.

The best solution I can see right now is calling "urxvtc -e vim <file>" for every file I want to open. Either from the shell or some kind of file manager like ranger or vifm. That said, a solution for vim itself would be the best. Or if someone has any example of such a setup, that'd be nice.

No.770611

>>770367

>>770403

How do you yank and put between different files if you have them opened in different vim instances?

No.770613

>>770611

Use the system's clipboard.

set clipboard=unnamedset clipboard+=unnamedplus