>didn't train a neural network to identify pdf titles automatically
@reimarpb3 жыл бұрын
neural networks are bloat
@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.
@jonnyso14 жыл бұрын
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.
@xenio87362 жыл бұрын
I know I'm late but you can do it with the command pdftotext
@jarnoruuskanen5 жыл бұрын
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
@alessandrorossi11585 жыл бұрын
The first part was just ls *pdf | sed 's/.*//' > file. But I had no idea about all the other abilities of vim!
@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 Жыл бұрын
I just break out Python if I can't solve something with pipes in 3 minutes :D
@abrasionthermals9172 Жыл бұрын
so regex basically? I thought that would be way easier than figuring out what he's talking about.
@mikuhatsunegoshujin6 жыл бұрын
Do a flip with vim.
@LukeSmithxyz6 жыл бұрын
:g/^/m0
@lordadamson6 жыл бұрын
I went to vim to test it because I'm basic and I can't read jargon lol
@Mizar886 жыл бұрын
@@LukeSmithxyz amazing
@AlexanderPrussak5 жыл бұрын
Note to future self: test what this does
@johelgoni94385 жыл бұрын
@@SimonWoodburyForget great
@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!
@geticz5636Ай бұрын
Did you end up doing it?
@jimbig3997Ай бұрын
@@geticz5636 No! Haven't pulled up this video again until just now. But I did learn how to do search and replace in vim since then.
@SWGINSPECTOR5 жыл бұрын
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
@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.
@TheBeeOBee4 жыл бұрын
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.
@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.
@Jsarbour6 жыл бұрын
This is awesome, Luke! The exact type of video I was hoping you would make.
@jxsl135 жыл бұрын
Arrived to see vim potential. Received it. Will still never in my lifetime use it, even tho the mapping was damn neat.
@Yaxqb5 жыл бұрын
Extracting information from PDF files has never been this fast and dank
@hectorandem29446 жыл бұрын
Arrived for the thumbnail, stayed for dank knowledge 👌🔥
@joko49perez6 жыл бұрын
Yes, that's how almost all his videos work.
@pengekcs6 жыл бұрын
www.urbandictionary.com/define.php?term=Dank - so not cool.
@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!
@sanjacobs62613 жыл бұрын
Great to hear! How's your progress been?
@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.
5 жыл бұрын
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.
@georgesmith30225 жыл бұрын
it's not working, even after deleting one of the quotes that shouldnt be there, i think you have to use printf
@spacewolfjr6 жыл бұрын
Awesome vid, every time I watch one of these it just reinforces to me that I only use a fraction of vim.
@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!).
@yash11527 ай бұрын
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)
@danieltoth7144 жыл бұрын
When you use chad vim instead of virgin gatsby to generate static html
@jielyu49435 жыл бұрын
bever language and thoughts seems like a fun paper
@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
@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/^/
@johnjoyce5 жыл бұрын
Thanks for zooming the text! Made table viewing feasible.
@gartenstuhl23965 жыл бұрын
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.
@bahathir_5 жыл бұрын
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.
@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.
@lawrencedoliveiro91044 жыл бұрын
Any equivalent to “apropos”?
@BonBonShrimp3 жыл бұрын
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.)
@CrunchPlaysGames6 жыл бұрын
This is the type of stuff I subscribed for :D
@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.
@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.
@emcysquare5 жыл бұрын
Amazing. Vim-fu black belt. Thanks master
@DonEdward5 жыл бұрын
Luke, you are the vim/shell guru!
@python3604 жыл бұрын
Nice vid man, this is what I want to learn more of - how to do mo clever sh** with Vim
@EricOdhiambo-jd1sy Жыл бұрын
This is crazy. I didn't know vim is this powerful
@lionbryce101013 жыл бұрын
This looks a lot like regex but harder
@coronaklledmebot48562 жыл бұрын
yeah 🤣
@limitless16922 жыл бұрын
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 ;)
@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
@Realswagoverlord3 жыл бұрын
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.
@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.
@The1wsx104 жыл бұрын
nice. i was thinking a :s or macro, but learnt something new!
@MYCHANNEL-lb1qq5 жыл бұрын
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.
@danmccullough93974 жыл бұрын
yes you can't hurt yourself with notepad. Not all have what it takes to use vim
@quervo1514 жыл бұрын
XDD
@rexevan67146 жыл бұрын
Wow so many uploads.. Wish you all the best, Luke.
@nematjonabdulloev35686 жыл бұрын
Mind-blowing, I am empressed, superb!
@honza_kriz_bass6 жыл бұрын
It's 3am, I have no idea what you did or how you did it, but it was awesome! 😀
@AnuragPandey-om6sp4 жыл бұрын
Amazing tutorial . Just showing the power of vim. Love!
@musthavechannel52626 жыл бұрын
The thumbnail is hilarious.
@lithiumwyvern_6 жыл бұрын
His thumbnails, combined with what his videos are about, generally scream "/g/ lurker".
@lilythebluespheresfan28973 жыл бұрын
Imagine using Sublime, lol
@nullanon57165 жыл бұрын
I guess to use the thumbnails analogy, emacs would be the god Ra bestowing nourishing rays upon the earth
@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.
@kewanseymour2 жыл бұрын
You could also use a macro that records you changing one line then run it 180 times - 180@[macro]
@leberkassemmel6 жыл бұрын
If you know, what vim can do, this is a good way for sure. Last time I had to sort and extract the text from a few thousand PDFs, I used a mix of AppleScript, Python and golang. They were exported to PDF the same way, so they were all the same layout and everything.
@lawrencedoliveiro91046 жыл бұрын
AppleScript ... my condolences. (I used to be a fan of it back in the 1990s.)
@leberkassemmel6 жыл бұрын
It is great for interfacing with apps. I could not think of any easier way to access menu bar items...
@lawrencedoliveiro91046 жыл бұрын
After doing it for some years, I came to the conclusion that trying to script GUI apps is a waste of time. The Linux approach is to provide the command-line functionality, then put the GUI as a separate layer on top of that. If you want to automate functions, you skip the GUI and do it at the command line. Much more efficient and reliable, with much less stuffing around.
@leberkassemmel6 жыл бұрын
Sure, if your program is built like that, fine. But not all programs are built with easy access through the CLI...
@lawrencedoliveiro91046 жыл бұрын
Most of the ones on Linux are.
@ichauch110 Жыл бұрын
or "Ctrl+V" (mark first characters in line) "I" "a href" inserts anything before first character. after that (ESC)
@dvtt6 жыл бұрын
I usually just use regexp, but this is definitely more efficient.. I rly should learn vim
@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.
@thingsiplay4 жыл бұрын
8:50 It worked on the first try. What kind of sorcery is this?
@cooleslaw5 жыл бұрын
Nice video in my recommended section. I like the thumbnail.
@kokilot6 жыл бұрын
I personally would've just used search and replace for the part where you turn the filenames into links.
@Zach28254 жыл бұрын
I feel like you can pull the heading text from the PDF document
@josephmelborne27403 жыл бұрын
every one of these videos feels like a personal attack xd
@jamesrustler20756 жыл бұрын
You made the beginning part a whole lot more complex ``` Ctrl+vG0I ```` Explanation: Ctrl+v: rectangular select G: Go to the bottom 0/$: Go to the beginning or last character I/A: Insert at the beginning or last character And the rest is just text I'll give you one thing and that I didn't know about the :norm
@skrullmania4808 Жыл бұрын
cool. seems like magic and I won`t be learning that. but still amazing what people can do with their knowledge
@girishkumar27596 жыл бұрын
How he is opening pdf and doing all these kinds of stuff in the terminal.
@aleksandrmikhailov32556 жыл бұрын
Nice workflow, man. Keep it up)
@GordDunker3 жыл бұрын
poppler-utils has pdf-info that outputs title along with a bunch of other stuff.
@awacs3374 жыл бұрын
Thumbnail is so good. I had to look up what the Soy text editor was. Sublime.
@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.
@RamLaska6 жыл бұрын
Ah, found your FAQ. FYI, the FAQ link from your homepage is broken. Missing the "\.html$"
@OperatingOnLinux2 жыл бұрын
This is i3wm
@Konnen-l9h5 жыл бұрын
And I can't even exit vim feelsbadman
@MrG0CE3 жыл бұрын
YOU SHOULD TRY LLPP PDF READER ! U WOULD LOVE IT !
@krunkle5136 Жыл бұрын
I would've just started with piping to a file, to start. Both *nix a vim are great.
@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.
@gavinvales89286 жыл бұрын
Your "blah blah blah" is so hypnotic.
@mikuhatsunegoshujin6 жыл бұрын
Rythme?
@lebenasa6 жыл бұрын
I usually just use visual block for inserting the HTML tags. First time heard of norm.
@StefanAdelbert6 жыл бұрын
':norm' - Nice. A nice addition would be thumbnails for the PDF documents, which you could generate like this: for pdf in *.pdf; do convert ${pdf}[0] -thumbnail 300x300 -alpha remove -gravity center -background white -extent 300x300 ${pdf}.png; done
@clangerbasher6 жыл бұрын
The fun of Linux/BSD/Unix doing the impossible with a few keystrokes. :)
@blahdelablah5 жыл бұрын
You can do similar things in Windows with PowerShell. For example, to generate the list of relative URLs in the same format as in this tutorial... gci -Filter *.pdf | % { '++' -f $_.Name }
@epajarjestys99815 жыл бұрын
Doing what is possible in a few seconds in almost every graphical text editor. ... with just a few dozen cryptic keystrokes, in 10+ minutes
@hamidcrazy90276 жыл бұрын
cool , I'm starting to change my mind these days (nano user)
@braindeveloperdimensional55796 жыл бұрын
hamid crazy What you think of ex user.
@hamidcrazy90276 жыл бұрын
i don't know it , i'm quite a beginner
@hamidcrazy90276 жыл бұрын
first time i heard of ex
@lieutanant80586 жыл бұрын
what is the terminal directory browser that you use?
@mimmovisconti25595 жыл бұрын
ranger
@pseudoc Жыл бұрын
Actually you can use CTRL-V CTRL-C to append ^C to your normal mode command and let it exit the insert mode. Also you do not need the place holder, you can simply go "cit"(:h tag-blocks),
@stryyker95 жыл бұрын
Dude the most tedious bit still remains.
@rajeshwaris66634 жыл бұрын
Convert all those files to latex and some bash magic
@digitaldivvy4 жыл бұрын
Simpler solution - record a single macro and replay it qd (to record) Ixx then @d or @@
@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
@agh0x015 жыл бұрын
Instead of using visual mode to select the lines before running the norm command, I'd use :.,$norm
5 жыл бұрын
Fantastic.
@ac1dr3d6 жыл бұрын
duuuuude is that you... cypher?
@TrouvatkiDePercusion6 жыл бұрын
Fucking awesome thumbnail, brother!
@loverboykimi3 жыл бұрын
could someone explain what is mapped for space + space or space + tab
@AhmedKhaled-sj1zx6 жыл бұрын
But it still some pain in writting titles. God with you luke
@CoredusK Жыл бұрын
Please -- more!
@TheEmulatorTL6 жыл бұрын
The sad thing is before I started using vim I would have actually typed out the syntax manually for each link and wasted hours :(
@shryoder5 жыл бұрын
*Where did you get that wallpaper... It's legendary...*
@ishansrt5 жыл бұрын
Connor RK800 legen ... wait for it Dary
@kaurikallaste91746 жыл бұрын
couldnt you just do ls *pdf > filename and then edit that ?
@lidordublin91115 жыл бұрын
But what's cool in doing it the intuitive way?
@gustavoschrf5 жыл бұрын
There are a million ways to do it. If I had to do this personally, I'd probably go with a python script. import os outputString = "" filePath = "/path/to/folder" for elem in os.listdir(filePath): if elem[-3:] == "pdf": outputString += "++ " f = open("outputFile.html","w+") f.write(outputString) f.close There you go, same thing he did (minus setting up the workflow for copying in the titles) achieved by 9 lines of python. You could probably write that script a million ways, just like you could come up with a million ways to do what OP did. The point of the video, I think though, was to show the potential that Vim has for complex solutions to every day problems. Honestly though, I don't think I'm ever going to use Vim. Sublime text gives me plenty of shortcuts for coding, and if I ever need to do any type of data processing, like OP did, I would probably just write a quick python script.
@AstuteJoe5 жыл бұрын
Can't you just fucking serve a folder with static files using NGINX? Sometimes people waste TOO DAMN MUCH time overengineering edgy bullshit.
@loganphillips16745 жыл бұрын
@@SimonWoodburyForget He's not telling you that this is the best way to do it. He's showcasing the capabilities of vim. It's pretty cool that he was able to do all of this through Vim. Thats the point.
@toranamunter5 жыл бұрын
@@gustavoschrf do you even Arch bro? I'd bang this out in hand assembled machine code on my SGI workstation
@MaulLerGamer3 жыл бұрын
this is so cool! thx for the tips
@isaipack3 жыл бұрын
nice rice you have there. Could you say what's you was using on it?
@5500redstone4 жыл бұрын
Whats the "file explorer" you use at the beginning
@bew4 жыл бұрын
Ranger I think: github.com/ranger/ranger
@nomydev6 жыл бұрын
That's... impressive!
@devtube7346 жыл бұрын
Best vim use I have seen
@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.