A Vid in which Vim Saves Me Hours & Hundreds of Clicks

Ғылым және технология

Support the channel!: / lukesmith
Send money: PayPal.me/LukeMSmith
See my website: lukesmith.xyz
Forum : forum.lukesmith.xyz

Пікірлер: 425

  • @LukeSmithxyz
    @LukeSmithxyz3 жыл бұрын

    URGENT! Read this: lukesmith.xyz/deletion

  • @Dumbass763

    @Dumbass763

    3 жыл бұрын

    can we get the zip file?

  • @juliansoto2651

    @juliansoto2651

    2 жыл бұрын

    No

  • @polocatfan

    @polocatfan

    Жыл бұрын

    not found

  • @LiegeMaximo

    @LiegeMaximo

    Жыл бұрын

    Doesn't exist.

  • @LiegeMaximo

    @LiegeMaximo

    Жыл бұрын

    Nvm, found an archive of it.

  • @elrisitas8508
    @elrisitas85083 жыл бұрын

    >didn't train a neural network to identify pdf titles automatically

  • @reimarpb

    @reimarpb

    2 жыл бұрын

    neural networks are bloat

  • @rohanofelvenpower5566

    @rohanofelvenpower5566

    Жыл бұрын

    The user should have the neurons. The computer chips just need to network. Unfortunately as Facebook demonstrates, modern web is very good at reversing this.

  • @jonnyso1
    @jonnyso13 жыл бұрын

    You're the only person I've seen so far that actually takes advantage of tiling windows + terminal applications, everyone else seems to be wasting time with "I can customize it to do anything" but never get anything done, I don't want waste time customizing for no benefit. Sadly I don't see how I could impove my current workflow with this format, but it's really cool. PS: It would be real magic if we could get a stdout of a pdf.

  • @xenio8736

    @xenio8736

    2 жыл бұрын

    I know I'm late but you can do it with the command pdftotext

  • @jarnoruuskanen
    @jarnoruuskanen4 жыл бұрын

    I had no idea that vim could do this! All I ever knew about vim was how to quit it (after accidentally opening it and then spending a couple of minutes googling how to exit). Thanks :D

  • @mikuhatsunegoshujin
    @mikuhatsunegoshujin6 жыл бұрын

    Do a flip with vim.

  • @LukeSmithxyz

    @LukeSmithxyz

    6 жыл бұрын

    :g/^/m0

  • @lordadamson

    @lordadamson

    6 жыл бұрын

    I went to vim to test it because I'm basic and I can't read jargon lol

  • @Mizar88

    @Mizar88

    5 жыл бұрын

    @@LukeSmithxyz amazing

  • @AlexanderPrussak

    @AlexanderPrussak

    5 жыл бұрын

    Note to future self: test what this does

  • @johelgoni9438

    @johelgoni9438

    5 жыл бұрын

    @@SimonWoodburyForget great

  • @hectorandem2944
    @hectorandem29446 жыл бұрын

    Arrived for the thumbnail, stayed for dank knowledge 👌🔥

  • @joko49perez

    @joko49perez

    6 жыл бұрын

    Yes, that's how almost all his videos work.

  • @pengekcs

    @pengekcs

    6 жыл бұрын

    www.urbandictionary.com/define.php?term=Dank - so not cool.

  • @ThoughtLateral
    @ThoughtLateral4 жыл бұрын

    Thanks for sharing these vim tips! I'll share how I normally generate such files with a BASH loop:- for i in *.pdf; do echo -e "$(pdfinfo "$i"|sed -n '1s/^Title: *//p')" >>links.html;done This will write the HTML tags for each PDF found in the directory, and use the Title extracted with pdfinfo as the linked content. It might save a bit of time. Doing this stuff can be tedious.

  • @wojciechwilimowski985

    @wojciechwilimowski985

    Жыл бұрын

    I just break out Python if I can't solve something with pipes in 3 minutes :D

  • @abrasionthermals9172

    @abrasionthermals9172

    Жыл бұрын

    so regex basically? I thought that would be way easier than figuring out what he's talking about.

  • @jimbig3997
    @jimbig39976 жыл бұрын

    I use vim all the time but admittedly I've never put in the effort to become this much of a wizard with it. Next time I have a task like this (could be years) I'll pull this video back up again though!

  • @Jsarbour
    @Jsarbour6 жыл бұрын

    This is awesome, Luke! The exact type of video I was hoping you would make.

  • @alessandrorossi1158
    @alessandrorossi11584 жыл бұрын

    The first part was just ls *pdf | sed 's/.*//' > file. But I had no idea about all the other abilities of vim!

  • @alexandrebouvier7731
    @alexandrebouvier77312 жыл бұрын

    I use vim since maybe 10 years and I used this editor like a begginer all this time (I used only 2 modes, no buffers, and basic commands like w, q, y, p, b, w). Now I try to use it more like a poweruser because I want to be more productive when I write my thesis and I am surprised how this editor is powerful if you use it correctly. The "visual block" mode is magic. I never seen something like that from an other editor/program.

  • @SWGINSPECTOR
    @SWGINSPECTOR4 жыл бұрын

    Maybe I missed the part where he said it, but you can of course use r instead of read, and the space may be omitted if you use external commands. This might save time if you often do short external commands like these: :r!ls *pdf r!date etc

  • @CrunchPlaysGames
    @CrunchPlaysGames6 жыл бұрын

    This is the type of stuff I subscribed for :D

  • @lawrencedoliveiro9104
    @lawrencedoliveiro91046 жыл бұрын

    1:31 pdfinfo (part of the poppler-utils package) will show info about PDF files such as titles. But these don’t always match the text you see on the title page of the document.

  • @TheBeeOBee
    @TheBeeOBee3 жыл бұрын

    Cool, I just watched and read my first lessons on Vim earlier today, and I was going back and forth debating on if I should learn it or not...and this video showed me a good reason why I should bother going down that path.

  • @mcNakno
    @mcNakno5 жыл бұрын

    I just started trying to get used to Vim a couple of weeks ago since everyone says that nano is nooby, hadn't really read any advanced tutorial either, just learned to navigate mostly. This stuff is amazing!

  • @sanjacobs6261

    @sanjacobs6261

    3 жыл бұрын

    Great to hear! How's your progress been?

  • @Yaxqb
    @Yaxqb5 жыл бұрын

    Extracting information from PDF files has never been this fast and dank

  • @spacewolfjr
    @spacewolfjr6 жыл бұрын

    Awesome vid, every time I watch one of these it just reinforces to me that I only use a fraction of vim.

  • @johnjoyce
    @johnjoyce5 жыл бұрын

    Thanks for zooming the text! Made table viewing feasible.

  • @zed9zed
    @zed9zed Жыл бұрын

    Nice video. The read ! was new to me, as was the yank in quotes (which I think I'll use all the time now!).

  • @jsteins
    @jsteins2 жыл бұрын

    Nice example of mapping a key to bring up "mupdf" as an external command; but in split screen. BTW: You could wrap your file names in tags with just one ":vi" command line, rather than 2 steps: :g/pdf/s/\(.*\)// ( which translates to ) global-find all lines with "pdf" then substitute \( line-match \) with pre_text \1=insert-match end_text Note: REgex of ".*" matches whole line \( \) remembers it, and \1 shows where to re-insert string. "vi/vim" editor's :colon: command line has full "ex" editor commands for lots of bulk edit magic. Also: If you are more comfortable with "sed" you could use "!G" to pipe the whole file through cmd sed -e 's/^/

  • @counterculturecocks
    @counterculturecocks6 жыл бұрын

    Source of Wisdom and Strength indeed

  • @rexevan6714
    @rexevan67146 жыл бұрын

    Wow so many uploads.. Wish you all the best, Luke.

  • @VincentVetsch
    @VincentVetsch6 жыл бұрын

    Really loved the vid Great job. I was able to do everything you did, in Emacs evil-mode, pretty much the same way you did. I had forgotten about :norm command. Again, GREAT JOB.

  • @yash1152
    @yash11522 ай бұрын

    summary for me: 1:55 * :read !ls 3:25 * :norm 5:34 jumping to ++, some mapping (how?) 6:22 * scoop install mupdf 7:02 * default leader is backslash 7:17 * yi" : yank in quotes 7:45 * " paste in from default buffer (how?) 8:03 * disown * CR: carriage return (enter)

  • @aleksandrmikhailov3255
    @aleksandrmikhailov32555 жыл бұрын

    Nice workflow, man. Keep it up)

  • @nematjonabdulloev3568
    @nematjonabdulloev35686 жыл бұрын

    Mind-blowing, I am empressed, superb!

  • @DonEdward
    @DonEdward5 жыл бұрын

    Luke, you are the vim/shell guru!

  • @CoolPupGaming
    @CoolPupGaming3 жыл бұрын

    On vs code you can type the same thing on multiple lines at a time. Just hold shift + alt and click and drag down and type. Im sure there is also a way to open the file and read the title but i havent had to do it yet.

  • @jxsl13
    @jxsl135 жыл бұрын

    Arrived to see vim potential. Received it. Will still never in my lifetime use it, even tho the mapping was damn neat.

  • @AnuragPandey-om6sp
    @AnuragPandey-om6sp4 жыл бұрын

    Amazing tutorial . Just showing the power of vim. Love!

  • @BonBonShrimp
    @BonBonShrimp2 жыл бұрын

    I came to this video from a pinned post in r/vim that listed some resources to understand vim better. All I can say is I wish there were more videos like this showing how things are done in real world usage of the editor. (I have been using vim for almost 20 years.)

  • @musthavechannel5262
    @musthavechannel52626 жыл бұрын

    The thumbnail is hilarious.

  • @lithiumwyvern_

    @lithiumwyvern_

    6 жыл бұрын

    His thumbnails, combined with what his videos are about, generally scream "/g/ lurker".

  • @lilythebluespheresfan2897

    @lilythebluespheresfan2897

    3 жыл бұрын

    Imagine using Sublime, lol

  • @lawrencedoliveiro9104
    @lawrencedoliveiro91046 жыл бұрын

    7:55 Emacs has built-in online help, available from CTRL-H. For example, CTRL-H followed by A is “apropos”, where you can find relevant functions by keyword, CTRL-H C lets you get information about key bindings, etc.

  • @lawrencedoliveiro9104

    @lawrencedoliveiro9104

    3 жыл бұрын

    Any equivalent to “apropos”?

  • @franciscodezuviria
    @franciscodezuviria6 жыл бұрын

    kate's block visual mode actually lets you go further than end of line so you can add prefix and suffix.opening the pdf's and the place holder trick was neat though

  • @emcysquare
    @emcysquare5 жыл бұрын

    Amazing. Vim-fu black belt. Thanks master

  • @danieltoth714
    @danieltoth7144 жыл бұрын

    When you use chad vim instead of virgin gatsby to generate static html

  • @gartenstuhl2396
    @gartenstuhl23964 жыл бұрын

    Interesting. As an emacs user I do not know much about vim but I would have chosen a similar approach. I would have either renamed all the files first with a proper name , similar to what op did in the end with the article name and than wrote a macro in wdired mode to change everything automatically or I would have done it basically exactly like op. Open wdired mode with split screen, write macro that opens file in other screen, adds all necessary html code and put the courser at the correct position, so that I only have copy the name by hand. I like that in vim you just redirect bash-command output into the editors buffer. Pretty neat.

  • @jielyu4943
    @jielyu49435 жыл бұрын

    bever language and thoughts seems like a fun paper

  • 4 жыл бұрын

    Awk is perfect for this task. A one-liner like this should be all that's necessary: $ ls *pdf | awk '{ print "ADD TITLE" }' > list.html If your pdf files have proper metadata, you can use the tool pdfinfo to find out the title and modify the awk program above to automatically include it.

  • @georgesmith3022

    @georgesmith3022

    4 жыл бұрын

    it's not working, even after deleting one of the quotes that shouldnt be there, i think you have to use printf

  • @honza_kriz_bass
    @honza_kriz_bass5 жыл бұрын

    It's 3am, I have no idea what you did or how you did it, but it was awesome! 😀

  • @migtrewornan8085
    @migtrewornan80854 жыл бұрын

    With a bit of playing around I found the following will pull the title out of about 95% of pdf documents: pdftotext filename.pdf - | head -n 1 Would be fairly easy to get vim to paste that in the appropriate position. OK so you'd still need to go through and check for the odd few where it doesn't find the title properly but it would save a lot of work.

  • @cooleslaw
    @cooleslaw4 жыл бұрын

    Nice video in my recommended section. I like the thumbnail.

  • @limitless1692
    @limitless1692 Жыл бұрын

    Woawww!!! You are really using the Computer. And not let the Computer using You. That is insane how powerful VIM is with a few little inocent commands ;)

  • @python360
    @python3603 жыл бұрын

    Nice vid man, this is what I want to learn more of - how to do mo clever sh** with Vim

  • @jmms49
    @jmms496 жыл бұрын

    good content , good presentation, awesome job man !

  • @MaulLerGamer
    @MaulLerGamer3 жыл бұрын

    this is so cool! thx for the tips

  • @Knigh7z
    @Knigh7z6 жыл бұрын

    Cool technique but you should just use half of it to make a csv mapping from title to filename and just back your site with a server with templating logic and you can load the file paths from any destination and dynamically generate the links lol.. which would also allow a bit more dynamism in your site, pdf locations changing etc

  • @stevehof
    @stevehof2 жыл бұрын

    So helpful!

  • @nachocdbz
    @nachocdbz5 жыл бұрын

    That was cool. If you said this in the video I'm sorry for missing it. Just wanted to say that some of the credit should go to i3 for presenting the PDF like that instead of opening a other window on that that you would have to alt+tab a couple of times.

  • @patriciaverso
    @patriciaverso5 жыл бұрын

    Do you think you could freeze vim while you were with the PDF opened, copied the title and, when closing the document, pasting the title inside de link tags, all with that command? Maybe it would make that easier.

  • @RamLaska
    @RamLaska6 жыл бұрын

    First time viewer of your channel. I was a linux (and other unices') sysadmin back in the day, and an infosec analyst back in the day. It's been a while since I've had linux on the desktop, though, the fruity company sucked me in with their wiles about a decade ago. Introductions aside, what window manager/shell is that? It looks amazing! All the efficiency of a CLI, and the ability to do very quick document previews. I gotta check that out.

  • @RamLaska

    @RamLaska

    6 жыл бұрын

    Ah, found your FAQ. FYI, the FAQ link from your homepage is broken. Missing the "\.html$"

  • @OperatingOnLinux

    @OperatingOnLinux

    2 жыл бұрын

    This is i3wm

  • @MYCHANNEL-lb1qq
    @MYCHANNEL-lb1qq4 жыл бұрын

    I tried to use vim once, nearly killed myself. Doctor said if I cut my wrists over stress from trying to use a text editor its probably not worth it.

  • @danmccullough9397

    @danmccullough9397

    3 жыл бұрын

    yes you can't hurt yourself with notepad. Not all have what it takes to use vim

  • @quervo151

    @quervo151

    3 жыл бұрын

    XDD

  • @makidoko
    @makidoko6 жыл бұрын

    Hi Luke : you could have saved minutes more :) - instead of :read !ls *pdf just !!ls *pdf (double exclamation; no colon) - instead of your + + and so, you could just :%s/\(.*\)/ A little explanation : - % means "the whole file" (= 1,$), - .* means "any character repeated", so the whole line - \(seq\) means that the "seq" is stored as substitutional parameter #1, - \1 means, insert the substitutional parameter #1. - and of course, don't forget to escape the slash in , or use a different separator for your substitution commande, like # for instance ":s#pattern#replace"

  • 5 жыл бұрын

    even better: %s,.\+,

  • @philipfry9436
    @philipfry94365 жыл бұрын

    I wrote a opengl loader with all the entry point declaration. They said to use a third party loader, that it would take forever. I was done in a hour. Thanks Vim.

  • @bahathir_
    @bahathir_4 жыл бұрын

    Hi, Below's one liner will runs xpdf or pdf viewer which will open pdf file. Select the title with mouse. Quit the pdf viewer and it will generate the html tag, and move to the next file.. The script needs the xsel package to b installed , and pdf files need to be in slectable text mode, not raster/image . $ ls *.pdf| while read f; do xpdf $f&> /dev/null; echo "`xsel | tr ' ' ' '`"; done > refs.html Enjoy. Update: If we encounter with image/raster pdf file, open xclipboard and type in the edit box. The content will be output by the xsel command in the script.

  • @gavinvales8928
    @gavinvales89286 жыл бұрын

    Your "blah blah blah" is so hypnotic.

  • @mikuhatsunegoshujin

    @mikuhatsunegoshujin

    6 жыл бұрын

    Rythme?

  • @bobmarl6722
    @bobmarl67226 жыл бұрын

    You could significantly increase the last step's speed by using a mouse and copy/pasting the titles of the articles instead of typing them.

  • @devtube734
    @devtube7346 жыл бұрын

    Best vim use I have seen

  • @negritolindo8838
    @negritolindo88386 жыл бұрын

    I'm newbie: I wonder what if you handle to open a 2 view with pdftotxt and move and yank manually the Title. I don't know, just to avoid typing. You still will need to see the original pdf view to know where is the title, but then you can search and yank.

  • @Teranomy
    @Teranomy6 жыл бұрын

    That's... impressive!

  • @nullanon5716
    @nullanon57165 жыл бұрын

    I guess to use the thumbnails analogy, emacs would be the god Ra bestowing nourishing rays upon the earth

  • @apoq3793
    @apoq37934 жыл бұрын

    It might be possible to avoid even manually typing out article titles: - run the PDF through tesseract-ocr, - pipe the text out to 1969_syntactic.pdf.txt etc, - go into each file and - put SomeSpecialCharacterSequence at the beginning of the line with the article title - back in Vim with html file, run shell that takes pdf filename + .txt append and greps it for SomeSpecialCharacterSequence and inserts the result - substitute SomeSpecialCharacterSequence with nothing - clean up remaining .txt files

  • @The1wsx10
    @The1wsx104 жыл бұрын

    nice. i was thinking a :s or macro, but learnt something new!

  • @code8860
    @code88606 жыл бұрын

    Wow, this is even better and faster than recording a macro to repeat the process by pressing @@. Also, I liked to see mupdf behavior on it. I think I'm gonna stop using apvlv and zathura. Is mupdf able to invert colors?

  • 4 жыл бұрын

    Fantastic.

  • @billkillernic
    @billkillernic6 жыл бұрын

    Could you upload that zipfile? those pfs seem to have interesting subjects! :D Thanks! I know I could just google them one by one but a) I still wouldn't have them all since only some files of that zip file are visible in your video b) it would be still boring to do search each pdf one by one and download it (going through all the waiting lists filesharing websites put you through etc :P )

  • @dvtt
    @dvtt6 жыл бұрын

    I usually just use regexp, but this is definitely more efficient.. I rly should learn vim

  • @deliciouspops
    @deliciouspops6 жыл бұрын

    this vid cured my depres

  • @loverboykimi
    @loverboykimi3 жыл бұрын

    could someone explain what is mapped for space + space or space + tab

  • @lieutanant8058
    @lieutanant80585 жыл бұрын

    what is the terminal directory browser that you use?

  • @mimmovisconti2559

    @mimmovisconti2559

    5 жыл бұрын

    ranger

  • @skrullmania4808
    @skrullmania480810 ай бұрын

    cool. seems like magic and I won`t be learning that. but still amazing what people can do with their knowledge

  • @RossWasTaken
    @RossWasTaken Жыл бұрын

    Any timesaves would surely be lost from having to type in the paper names (or using vim magic tricks required to paste something from the system clipboard) would they not?

  • @ManasNagpure
    @ManasNagpure6 жыл бұрын

    Hi, nice video! What is the difference between 'norm' and '.' (dot) command?

  • @EricOdhiambo-jd1sy
    @EricOdhiambo-jd1sy Жыл бұрын

    This is crazy. I didn't know vim is this powerful

  • @kewanseymour
    @kewanseymour Жыл бұрын

    You could also use a macro that records you changing one line then run it 180 times - 180@[macro]

  • @MyVitros
    @MyVitros5 жыл бұрын

    Superb video

  • @jean-baptistedelabroise5391
    @jean-baptistedelabroise53914 жыл бұрын

    made a shell script like this last year had to grep multiple movie sites like imdb and gather the informations into one page =) had to go all in on regexp to grep the wanted lines in each web pages, the most difficult was the cleaning of the data because certain pages had no notes for certain films for exemple and certain page had not exactly the same name for the same films so was quite hard but it's how I learned a bit of bash the hard way.

  • @awacs337
    @awacs3373 жыл бұрын

    Thumbnail is so good. I had to look up what the Soy text editor was. Sublime.

  • @josephmelborne2740
    @josephmelborne27403 жыл бұрын

    every one of these videos feels like a personal attack xd

  • @kokilot
    @kokilot6 жыл бұрын

    I personally would've just used search and replace for the part where you turn the filenames into links.

  • @lawrencedoliveiro9104
    @lawrencedoliveiro91046 жыл бұрын

    2:17 I defined a custom “make-shell-buffer” command in my Emacs prefs github.com/ldo/emacs-prefs which gives me an interactive window where I can execute arbitrary shell commands and get back their output as editable text in the buffer.

  • @Anas-ky8jb
    @Anas-ky8jb6 жыл бұрын

    Very useful tips 👍

  • @HamidKarzai
    @HamidKarzai4 жыл бұрын

    marvellous

  • @shryoder
    @shryoder5 жыл бұрын

    *Where did you get that wallpaper... It's legendary...*

  • @ishansrt

    @ishansrt

    5 жыл бұрын

    Connor RK800 legen ... wait for it Dary

  • @Tux0xFF
    @Tux0xFF5 жыл бұрын

    Love the video thumbnails

  • @lebenasa
    @lebenasa6 жыл бұрын

    I usually just use visual block for inserting the HTML tags. First time heard of norm.

  • @nulledneero7067
    @nulledneero70674 жыл бұрын

    Some Questions: What OS he's using? what cli file manger he's using? how come his window manager is plain without those close min buttons

  • @danke5356
    @danke53566 жыл бұрын

    Are you using Linux? If so, Which Linux and desktop environment you use?

  • @michaellk2254
    @michaellk22544 жыл бұрын

    Omg your setup is 😍

  • @girishkumar2759
    @girishkumar27596 жыл бұрын

    How he is opening pdf and doing all these kinds of stuff in the terminal.

  • @TrouvatkiDePercusion
    @TrouvatkiDePercusion6 жыл бұрын

    Fucking awesome thumbnail, brother!

  • @quantumjolt8663
    @quantumjolt86635 жыл бұрын

    This is cool, but if you are going to create a website, chances are you're also going to be using a server-side language which you can use to loop through every file within a folder. Its a lot easier to read as well (your index.html source file will contain a few lines rather than 100s/1000s of lines) and also, what happens if you want to add 10 more pdfs? What would happen if now for every link or every second link you want a div with a specific class? Yes you can probably come up with a command for that, but it's in my opinion not the way to go, seeing as you would need to run that command again, rather than just have the server-side language load it all recursively. With like a total of 10 lines of code? (Source-code). If you are constrictrd to use only html, then sure, this can be handy.

  • @TheM00h

    @TheM00h

    5 жыл бұрын

    to main problem was not adding html tags but naming the pdf correctly. I don't see how this can be done without human input if the file name and pdf info is incomplete

  • @emptyspacevacuum
    @emptyspacevacuum5 жыл бұрын

    impressive vim skills

  • @-XArchLinuxEnjoyerX-
    @-XArchLinuxEnjoyerX-5 жыл бұрын

    How does he do that thing where he instantly splits the terminal to vertically or horizontally be half the screen?

  • @willmcpherson2

    @willmcpherson2

    5 жыл бұрын

    I think it's *set splitright* in his vimrc

  • 9 ай бұрын

    okay i would be interested to know how you could do it using php...shoul be doable as I have done something similar, where upon load it shows a list if websites (directories that have a index.html file) and show the name of the folder as the name of the link...so I am guessing that something like what u are doing could be done in a similar fashion

  • @GordDunker
    @GordDunker3 жыл бұрын

    poppler-utils has pdf-info that outputs title along with a bunch of other stuff.

  • @Zach2825
    @Zach28254 жыл бұрын

    I feel like you can pull the heading text from the PDF document

  • @BakedRawr
    @BakedRawr4 жыл бұрын

    Awesome Video! :)

  • @flamendless
    @flamendless6 жыл бұрын

    Cant you combine the two norm commands into one?

Келесі